Kako pronaći i popraviti curenje memorije u sustavu Windows 10

How Find Fix Memory Leaks Windows 10



Ako vaše računalo sa sustavom Windows 10 ima problema s performansama, to bi moglo biti zbog curenja memorije. Evo kako pronaći i popraviti curenje memorije u sustavu Windows 10. Kada prvi put instalirate Windows 10, bilo bi dobro pokrenuti alat za provjeru sistemskih datoteka. Ovo će provjeriti i popraviti sve oštećene sistemske datoteke. Da biste to učinili, otvorite naredbeni redak i upišite: sfc /scannow Kada skeniranje završi, ponovno pokrenite računalo. Ako još uvijek vidite probleme s performansama, vrijeme je da provjerite ima li curenja memorije. Da biste to učinili, otvorite Upravitelj zadataka i idite na karticu Performanse. U stupcu Memorija vidjet ćete koliko se memorije koristi. Ako se taj broj stalno povećava, vjerojatno imate curenje memorije. Da biste popravili curenje memorije, morate identificirati koji program uzrokuje problem. Da biste to učinili, idite na karticu Detalji i provjerite stupac PID. Ovo će vam pokazati PID (ID procesa) svakog pokrenutog programa. Potražite program s najvećim PID brojem i završite taj proces. Nakon što ste završili s procesom, ponovno pokrenite računalo i provjerite je li problem riješen. Ako nije, ponavljajte postupak dok ne pronađete krivca.



DO Curenje memorije je pogrešna raspodjela resursa u računalnom programu zbog nepravilne dodjele memorije. To se događa kada otišao neiskorišten prostor ostaje neoslobođen. Curenje memorije ne treba brkati s curenjem prostora, što se odnosi na program koji koristi više RAM-a nego što mu je potrebno. Prijavljeno je da se curenje memorije u sustavu Windows 10/8/7 događa kada memorija jednostavno nije dostupna iako se ne koristi.





Curenje memorije u sustavu Windows 10

Prije nego počnete, trebali biste znati da je curenje memorije softverski problem koji treba otkloniti, kao što je Java, JavaScript, C/C++, Windows itd. Fizička zamjena RAM-a ili tvrdog diska nije potrebna.





Curenje memorije u sustavu Windows 10



Zašto je to loše

Očito, curenje memorije je loša stvar, jer je to greška, greška u sustavu. Ali saznajmo kako to točno utječe na sustav:

  1. Budući da se memorija ne oslobađa čak i ako se ne koristi, to uzrokuje njeno pražnjenje.
  2. Iscrpljenost memorije rezultira starenjem softvera.
  3. Smanjenje dostupne memorije rezultira produljenim vremenom odziva i smanjenom izvedbom sustava.
  4. Nekontrolirano curenje memorije može na kraju srušiti aplikaciju.

Kako bi otkrio curenje memorije, programer treba pristup izvornom kodu programa.

Otkrivanje curenja

Da bismo riješili problem, prvo ga moramo identificirati. Osnovni koraci za otkrivanje curenja memorije:



  1. Potvrda : Otkrivanje curenja.
  2. Pronalaženje curenja memorije u kernel modu : Potražite curenje uzrokovano komponentom upravljačkog programa u načinu jezgre.
  3. Pronalaženje curenja memorije u korisničkom načinu rada : Otkrivanje curenja uzrokovano aplikacijom vozačkog ili korisničkog načina rada.

Dodjela memorije

Postoje različiti načini dodjele RAM-a po aplikacijama. Ako se prostor ne oslobodi nakon korištenja, doći će do curenja memorije bez obzira na način dodjele. Evo nekih uobičajenih obrazaca distribucije:

  1. Funkcija HealAlloc za dodjelu memorije na gomili. C/C++ runtime ekvivalenti su malloc i new.
  2. Funkcija VirtualAlloc za izravnu dodjelu iz OS-a.
  3. Kernel32 API-ji za pohranu kernel memorije za aplikaciju. Primjer: CreateFile, CreateThread.
  4. API User32 i API Gdi32.

Sprječavanje curenja memorije

Svi znamo da je bolje spriječiti nego liječiti, pa evo nekoliko načina za sprječavanje curenja sjećanja.

Praćenje navika

Curenje memorije u sustavu Windows 10

nadogradnja sustava Windows 10 ne uspije i vraća se na sustav Windows 7

Morate paziti na abnormalnu upotrebu RAM-a od strane pojedinih programa i aplikacija. Klikom možete otići na Windows Task Manager CTRL + SHIFT + ESC i dodajte stupce kao što su Ručke, Korisnički objekti, GDI objekti itd.

To će vam pomoći da lakše pratite korištenje resursa.

Microsoftovi alati za dijagnosticiranje curenja memorije

Razni alati dijagnosticiraju curenje memorije za različite načine dodjele:

  1. Application Verifier dijagnosticira curenje hrpe.
  2. UMDH (komponenta alata za otklanjanje pogrešaka sustava Windows) dijagnosticira curenje po procesu nadzirući raspodjelu hrpe.
  3. Trace Capture za temeljitu analizu korištenja RAM-a.
  4. Xperf također prati obrasce raspodjele hrpe.
  5. CRT Debug Heap ne samo da prati raspodjelu hrpe, već vam također omogućuje primjenu tehnika kodiranja za smanjenje curenja.
  6. JavaScript Memory Leak Detector otklanja greške u memoriji u kodovima.

Savjeti za korištenje

  1. Koristite kernel NOSITI SE SA s i drugi pametni pokazivači za Win32 resurse i raspodjelu hrpe.
  2. Nabavite klase za automatsko upravljanje resursima za dodjelu jezgre iz ATL knjižnice. C++ standard ima auto_ptr za raspodjelu gomile.
  3. Enkapsulirajte pokazivače COM sučelja u 'pametne pokazivače' s _com_ptr_t ili _bstr_t ili _varijanta_t .
  4. Pratite .NET kod za neuobičajenu upotrebu memorije.
  5. Izbjegavajte višestruke izlazne putove za funkcije kako biste omogućili da se dodjele varijabli u većini blokova oslobode do kraja funkcije.
  6. Koristite prilagođene iznimke samo nakon što se oslobode sve dodjele u bloku _finally. Omotajte cijelu hrpu i tretirajte dodjele u pametne pokazivače za korištenje C++ iznimki.
  7. Uvijek zovi PropVariantClear prije ponovne inicijalizacije ili brisanja PROPVARIANT objekta.

Popravite curenje memorije u sustavu Windows

Baš kao i različiti načini za sprječavanje curenja memorije, postoje različiti načini za sprječavanje curenja memorije. Ali prije nego što počnete, ne zaboravite prvo stvorite točku vraćanja sustava .

1] Zatvorite procese i ponovno pokrenite.

Ako vidite da nepotreban proces zauzima previše RAM-a, možete prekinuti proces u Upravitelju zadataka. Morat ćete ponovno pokrenuti uređaj kako bi oslobođeni prostor bio dostupan za korištenje drugim procesima. Bez ponovnog pokretanja, problem curenja memorije neće biti riješen. Jedan određeni proces koji ima greške koje usporavaju računalo je Runtime Broker. Pokušajte vidjeti funkcionira li samo onemogućavanje.

2] Alati za dijagnostiku pamćenja

Windows dijagnostika memorije

disk nepoznat nije inicijaliziran

Za pristup ugrađenom Alat za dijagnostiku memorije za Windows:

  1. Sačuvajte sve svoje važne poslove.
  2. Klik Win + R otvoren trčanje prozor.
  3. Unesite naredbu mdsched.exe U trčanje prozor.
  4. Ponovno pokrenite računalo.
  5. Nakon ponovnog pokretanja izvršite osnovno skeniranje ili odaberite ' Napredna 'Opcije kao što su' Ispitna smjesa ' ili ' Broj prolaza '.
  6. Klik F10 za početak testa.

Ovo su za sada privremeni popravci.

3] Provjerite postoje li ažuriranja upravljačkog programa

Ažuriranje softvera upravljačkog programa

Zastarjeli upravljački programi uzrokuju curenje memorije. Ažurirajte sve upravljačke programe :

  1. Klik Win + R i otvoriti trčanje prozor. Tip devmgmt.msc i pritisnite Enter. Ovo će vas odvesti do upravitelj uređaja .
  2. Provjerite ima li zastarjelih upravljačkih programa i ažurirajte ih sve.
  3. Za ažuriranja koja ste možda propustili, pogledajte Windows Update.

Bilo je lako.

4] Optimizacija performansi

Podesite za najbolje performanse

Podešavanje performansi sustava Windows upravljat će svime, uključujući raspoređivanje procesora i korištenje memorije kako bi se spriječilo curenje memorije. Prati ove korake:

  1. Desni klik ' Ovaj PC »i odaberi« Napredna »Na lijevoj ploči.
  2. Pod, ispod ' Napredna Na kartici ' Nastup
Popularni Postovi