Kā atrast un novērst atmiņas noplūdes operētājsistēmā Windows 10

How Find Fix Memory Leaks Windows 10



Ja jūsu Windows 10 datoram ir veiktspējas problēmas, tas var būt atmiņas noplūdes dēļ. Tālāk ir norādīts, kā operētājsistēmā Windows 10 atrast un novērst atmiņas noplūdes. Pirmoreiz instalējot sistēmu Windows 10, ieteicams palaist sistēmas failu pārbaudītāju. Tas pārbaudīs un izlabos bojātus sistēmas failus. Lai to izdarītu, atveriet komandu uzvedni un ierakstiet: sfc /scannow Kad skenēšana ir pabeigta, restartējiet datoru. Ja joprojām novērojat veiktspējas problēmas, ir pienācis laiks pārbaudīt, vai nav atmiņas noplūdes. Lai to izdarītu, atveriet uzdevumu pārvaldnieku un dodieties uz cilni Veiktspēja. Kolonnā Atmiņa ir redzams, cik daudz atmiņas tiek izmantots. Ja šis skaitlis nepārtraukti palielinās, iespējams, jums ir atmiņas noplūde. Lai novērstu atmiņas noplūdi, jums ir jānosaka, kura programma rada problēmu. Lai to izdarītu, atveriet cilni Detaļas un pārbaudiet kolonnu PID. Tas parādīs katras darbojošās programmas PID (procesa ID). Atrodiet programmu ar augstāko PID numuru un pabeidziet šo procesu. Kad process ir pabeigts, restartējiet datoru un pārbaudiet, vai problēma ir novērsta. Ja nē, atkārtojiet procesu, līdz atrodat vainīgo.



UZ Atmiņas noplūde ir nepareiza resursu sadale datorprogrammā nepareizas atmiņas piešķiršanas dēļ. Tas notiek, kad aizgāja neizmantotā vieta paliek neatbrīvota. Atmiņas noplūdi nevajadzētu sajaukt ar vietas noplūdi, kas attiecas uz programmu, kas izmanto vairāk RAM, nekā tai nepieciešams. Ir ziņots, ka operētājsistēmas Windows 10/8/7 atmiņas noplūde notiek, ja atmiņa vienkārši nav pieejama, lai gan tā netiek izmantota.





Atmiņas noplūde operētājsistēmā Windows 10

Pirms sākat, jums jāzina, ka atmiņas noplūde ir programmatūras problēma, kas ir jāatkļūdo, piemēram, Java, JavaScript, C/C++, Windows utt. Fiziskā RAM vai cietā diska nomaiņa nav nepieciešama.





Atmiņas noplūde operētājsistēmā Windows 10



Kāpēc tas ir slikti

Acīmredzot atmiņas noplūde ir slikta lieta, jo tā ir kļūda, sistēmas trūkums. Bet noskaidrosim, kā tas tieši ietekmē sistēmu:

  1. Tā kā atmiņa netiek atbrīvota pat tad, ja tā netiek izmantota, tā tiek iztērēta.
  2. Atmiņas izsīkums izraisa programmatūras novecošanos.
  3. Pieejamās atmiņas samazināšana palielina reakcijas laiku un samazina sistēmas veiktspēju.
  4. Nekontrolēta atmiņas noplūde galu galā var izraisīt lietojumprogrammas avāriju.

Lai atklātu atmiņas noplūdi, programmētājam ir nepieciešama piekļuve programmas avota kodam.

Noplūdes noteikšana

Lai atrisinātu problēmu, vispirms tā ir jāidentificē. Galvenās darbības, lai noteiktu atmiņas noplūdi:



  1. Apstiprinājums : Noplūdes noteikšana.
  2. Atmiņas noplūdes atrašana kodola režīmā : meklējiet noplūdi, ko izraisījis kodola režīma draivera komponents.
  3. Atmiņas noplūdes atrašana lietotāja režīmā : draivera vai lietotāja režīma lietojumprogrammas izraisītas noplūdes noteikšana.

Atmiņas piešķiršana

Ir dažādi režīmi RAM piešķiršanai pa lietojumprogrammām. Ja vieta pēc lietošanas netiek atbrīvota, neatkarīgi no piešķiršanas režīma notiks atmiņas noplūde. Šeit ir daži izplatīti izplatīšanas modeļi:

  1. HealAlloc funkcija, lai piešķirtu atmiņu kaudzītei. C/C++ izpildlaika ekvivalenti ir malloc un jauni.
  2. VirtualAlloc funkcija tiešai piešķiršanai no OS.
  3. Kernel32 API lietojumprogrammas kodola atmiņas glabāšanai. Piemērs: CreateFile, CreateThread.
  4. API User32 un API Gdi32.

Atmiņas noplūdes novēršana

Mēs visi zinām, ka profilakse ir labāka nekā ārstēšana, tāpēc šeit ir daži veidi, kā novērst atmiņas noplūdes.

Ieradumu uzraudzība

Atmiņas noplūde operētājsistēmā Windows 10

google lapas sadala tekstu kolonnās

Jums jāuzmanās, vai atsevišķas programmas un lietojumprogrammas neizmanto neparastu RAM. Varat doties uz Windows uzdevumu pārvaldnieku, noklikšķinot uz CTRL + SHIFT + ESC un pievienojiet kolonnas, piemēram, rokturi, lietotāja objektus, GDI objektus utt.

Tas palīdzēs jums viegli izsekot resursu lietojumam.

Microsoft rīki atmiņas noplūžu diagnosticēšanai

Dažādi rīki diagnosticē atmiņas noplūdes dažādiem piešķiršanas režīmiem:

  1. Lietojumprogrammu verificētājs diagnosticē kaudzes noplūdes.
  2. UMDH (Windows atkļūdošanas rīku komponents) diagnosticē katra procesa noplūdes, uzraugot kaudzes piešķiršanu.
  3. Trace Capture rūpīgai RAM lietojuma analīzei.
  4. Xperf arī seko līdzi kaudzes piešķiršanas modeļiem.
  5. CRT atkļūdošanas kaudze ne tikai seko līdzi kaudzes piešķiršanai, bet arī ļauj izmantot kodēšanas metodes, lai samazinātu noplūdes.
  6. JavaScript atmiņas noplūdes detektors atkļūdo atmiņas noplūdes kodos.

Lietošanas padomi

  1. Izmantojiet kodolu SAMIERINIES AR s un citi viedie norādes par Win32 resursiem un kaudzes piešķiršanu.
  2. Iegūstiet klases automātiskai resursu pārvaldībai kodolu piešķiršanai no ATL bibliotēkas. C++ standartam ir auto_ptr kaudzes piešķiršanai.
  3. Iekapsulējiet COM interfeisa norādes 'viedajos rādītājos' ar _com_ptr_t vai _bstr_t vai _variants_t .
  4. Pārraugiet .NET kodu, lai atklātu neparastu atmiņas izmantošanu.
  5. Izvairieties no vairākiem funkciju izejas ceļiem, lai līdz funkcijas beigām lielākajā daļā bloku varētu atbrīvot mainīgos sadalījumus.
  6. Izmantojiet pielāgotos izņēmumus tikai pēc tam, kad ir atbrīvoti visi piešķīrumi blokā _finally. Aptiniet visu kaudzi un apstrādājiet piešķīrumus viedos rādītājos, lai izmantotu C++ izņēmumus.
  7. Vienmēr zvaniet PropVariantClear pirms objekta PROPVARIANT atkārtotas inicializācijas vai dzēšanas.

Novērsiet atmiņas noplūdes sistēmā Windows

Tāpat kā dažādi veidi, kā novērst atmiņas noplūdi, ir dažādi veidi, kā novērst atmiņas noplūdes. Bet pirms sākat, neaizmirstiet vispirms izveidojiet sistēmas atjaunošanas punktu .

1] Aizveriet procesus un restartējiet.

Ja redzat, ka nevajadzīgs process aizņem pārāk daudz RAM, varat beigt procesu uzdevumu pārvaldniekā. Ierīce būs jārestartē, lai atbrīvotā vieta būtu pieejama lietošanai citiem procesiem. Bez atsāknēšanas atmiņas noplūdes problēma netiks atrisināta. Viens konkrēts process, kurā ir kļūdas, kas palēnina datoru, ir Runtime Broker. Mēģiniet redzēt, vai darbojas tikai šīs darbības atspējošana.

2] Atmiņas diagnostikas rīki

Windows atmiņas diagnostika

Lai piekļūtu iebūvētajam Atmiņas diagnostikas rīks operētājsistēmai Windows:

  1. Saglabājiet visus svarīgos darbus.
  2. Klikšķis Win + R atvērts palaist logs.
  3. Ievadiet komandu mdsched.exe IN palaist logs.
  4. Restartējiet datoru.
  5. Pēc restartēšanas veiciet pamata skenēšanu vai atlasiet ' Papildu 'Tādas iespējas kā' Testa maisījums ' vai ' Piespēļu skaits '.
  6. Klikšķis F10 lai sāktu pārbaudi.

Šie pagaidām ir pagaidu labojumi.

iespējot aparatūras virtualizācijas logus 10

3] Pārbaudiet draivera atjauninājumus

Draivera programmatūras atjauninājums

Novecojuši draiveri izraisa atmiņas noplūdes. Atjauniniet visus draiverus :

  1. Klikšķis Win + R un atveriet palaist logs. Tips devmgmt.msc un nospiediet taustiņu Enter. Tas jūs aizvedīs uz Ierīču pārvaldnieks .
  2. Pārbaudiet, vai nav novecojušu draiveru, un atjauniniet tos visus.
  3. Lai uzzinātu par atjauninājumiem, kurus, iespējams, esat palaidis garām, skatiet Windows atjaunināšanu.

Tas bija viegli.

4] Veiktspējas optimizācija

Pielāgojiet, lai nodrošinātu vislabāko veiktspēju

Windows veiktspējas regulēšana pārvaldīs visu, tostarp CPU plānošanu un atmiņas lietojumu, lai novērstu atmiņas noplūdes. Veiciet tālāk norādītās darbības.

  1. Ar peles labo pogu noklikšķiniet Šis dators »un izvēlieties« Papildu 'Kreisajā panelī.
  2. Zem ' Papildu Cilnē ' Uzstāšanās
Populārākas Posts