Kako najti in odpraviti puščanje pomnilnika v sistemu Windows 10

How Find Fix Memory Leaks Windows 10



Če ima vaš računalnik z operacijskim sistemom Windows 10 težave z zmogljivostjo, je to lahko posledica puščanja pomnilnika. Tukaj je opisano, kako najti in odpraviti uhajanje pomnilnika v sistemu Windows 10. Ko prvič namestite Windows 10, je dobro zagnati preverjevalnik sistemskih datotek. S tem boste preverili in popravili vse poškodovane sistemske datoteke. Če želite to narediti, odprite ukazni poziv in vnesite: sfc /scannow Ko je skeniranje končano, znova zaženite računalnik. Če še vedno vidite težave z zmogljivostjo, je čas, da preverite, ali pušča pomnilnik. Če želite to narediti, odprite upravitelja opravil in pojdite na zavihek Učinkovitost. V stolpcu Pomnilnik boste videli, koliko pomnilnika je uporabljeno. Če ta številka nenehno narašča, je verjetno, da vam pušča pomnilnik. Če želite odpraviti uhajanje pomnilnika, morate ugotoviti, kateri program povzroča težavo. Če želite to narediti, pojdite na zavihek Podrobnosti in preverite stolpec PID. To vam bo pokazalo PID (ID procesa) vsakega programa, ki se izvaja. Poiščite program z najvišjo številko PID in končajte ta postopek. Ko končate postopek, znova zaženite računalnik in preverite, ali je težava odpravljena. Če ne, ponavljajte postopek, dokler ne najdete krivca.



TO Puščanje pomnilnika je napačna dodelitev sredstev v računalniškem programu zaradi nepravilne dodelitve pomnilnika. Zgodi se, ko šel neuporabljen prostor ostane nesproščen. Puščanja pomnilnika ne smemo zamenjevati s puščanjem prostora, ki se nanaša na program, ki uporablja več RAM-a, kot ga potrebuje. Poročali so, da do uhajanja pomnilnika v sistemu Windows 10/8/7 pride, ko pomnilnik preprosto ni na voljo, čeprav se ne uporablja.





Puščanje pomnilnika v sistemu Windows 10

Preden začnete, morate vedeti, da je uhajanje pomnilnika težava s programsko opremo, ki jo je treba odpraviti, na primer v Javi, JavaScript, C/C++, Windows itd. Fizična zamenjava RAM-a ali trdega diska ni potrebna.





Puščanje pomnilnika v sistemu Windows 10



Zakaj je to slabo

Očitno je uhajanje pomnilnika slaba stvar, ker je hrošč, napaka v sistemu. Ugotovimo pa, kako natančno to vpliva na sistem:

  1. Ker se pomnilnik ne sprosti, tudi če se ne uporablja, ga izprazni.
  2. Izčrpanost pomnilnika povzroči staranje programske opreme.
  3. Zmanjšanje razpoložljivega pomnilnika povzroči podaljšan odzivni čas in zmanjšano zmogljivost sistema.
  4. Nenadzorovano uhajanje pomnilnika lahko sčasoma zruši aplikacijo.

Za odkrivanje puščanja pomnilnika programer potrebuje dostop do izvorne kode programa.

Odkrivanje puščanja

Da bi rešili problem, ga moramo najprej prepoznati. Osnovni koraki za odkrivanje puščanja pomnilnika:



  1. Potrditev : Odkrivanje puščanja.
  2. Iskanje puščanja pomnilnika v načinu jedra : Poiščite puščanje, ki ga povzroča komponenta gonilnika v načinu jedra.
  3. Iskanje puščanja pomnilnika v uporabniškem načinu : Zaznavanje puščanja, ki ga povzroči aplikacija gonilnika ali uporabniškega načina.

Dodelitev pomnilnika

Obstajajo različni načini dodeljevanja RAM-a po aplikacijah. Če se prostor po uporabi ne sprosti, bo prišlo do uhajanja pomnilnika ne glede na način dodeljevanja. Tukaj je nekaj pogostih vzorcev distribucije:

  1. Funkcija HealAlloc za dodelitev pomnilnika na kopici. Enakovrednika izvajalnega okolja C/C++ sta malloc in new.
  2. Funkcija VirtualAlloc za neposredno dodelitev iz OS.
  3. API-ji Kernel32 za shranjevanje pomnilnika jedra za aplikacijo. Primer: CreateFile, CreateThread.
  4. API User32 in API Gdi32.

Preprečevanje puščanja pomnilnika

Vsi vemo, da je bolje preprečiti kot zdraviti, zato je tukaj nekaj načinov za preprečevanje uhajanja spomina.

Spremljanje navad

Puščanje pomnilnika v sistemu Windows 10

nadgradnja sistema Windows 10 ne uspe in se vrne v sistem Windows 7

Paziti morate na neobičajno uporabo RAM-a s strani posameznih programov in aplikacij. S klikom lahko odprete upravitelja opravil Windows CTRL + SHIFT + ESC in dodajte stolpce, kot so ročaji, uporabniški objekti, objekti GDI itd.

To vam bo pomagalo enostavno spremljati uporabo virov.

Microsoftova orodja za diagnosticiranje puščanja pomnilnika

Različna orodja diagnosticirajo puščanje pomnilnika za različne načine dodeljevanja:

  1. Application Verifier diagnosticira puščanje kopice.
  2. UMDH (komponenta orodij za odpravljanje napak v sistemu Windows) diagnosticira puščanje po procesu s spremljanjem dodelitev kopice.
  3. Trace Capture za temeljito analizo uporabe RAM-a.
  4. Xperf spremlja tudi vzorce dodeljevanja kopice.
  5. CRT Debug Heap ne le spremlja dodeljevanje kopice, ampak vam omogoča tudi uporabo tehnik kodiranja za zmanjšanje uhajanja.
  6. JavaScript Memory Leak Detector odpravlja napake pri uhajanju pomnilnika v kodah.

Nasveti za uporabo

  1. Uporabi jedro SPOJITI SE Z s in drugi pametni kazalci za vire Win32 in dodelitve kopice.
  2. Pridobite razrede za samodejno upravljanje virov za dodelitev jedra iz knjižnice ATL. Standard C++ ima auto_ptr za dodelitev kopice.
  3. Enkapsulirajte kazalce vmesnika COM v 'pametne kazalce' z _com_ptr_t oz _bstr_t oz _variant_t .
  4. Spremljajte kodo .NET za nenormalno uporabo pomnilnika.
  5. Izogibajte se več izhodnim potem za funkcije, da omogočite sprostitev dodelitev spremenljivk v večini blokov do konca funkcije.
  6. Uporabite izjeme po meri šele, ko so bile osvobojene vse dodelitve v bloku _finally. Zavijte celotno kopico in obdelajte dodelitve v pametne kazalce za uporabo izjem C++.
  7. Vedno pokliči PropVariantClear pred ponovno inicializacijo ali brisanjem objekta PROPVARIANT.

Odpravite puščanje pomnilnika v sistemu Windows

Tako kot različni načini za preprečevanje uhajanja pomnilnika, obstajajo različni načini za preprečevanje uhajanja pomnilnika. Toda preden začnete, ne pozabite najprej ustvarite obnovitveno točko sistema .

1] Zaprite procese in znova zaženite.

Če opazite, da nepotreben proces zaseda preveč RAM-a, lahko postopek končate v upravitelju opravil. Napravo boste morali znova zagnati, da bo sproščeni prostor na voljo za uporabo drugim procesom. Brez ponovnega zagona težava z uhajanjem pomnilnika ne bo odpravljena. En poseben proces, ki ima napake, ki upočasnjujejo računalnik, je Runtime Broker. Poskusite preveriti, ali samo onemogočanje tega deluje.

2] Orodja za diagnosticiranje pomnilnika

Diagnostika pomnilnika Windows

Za dostop do vgrajenega Orodje za diagnosticiranje pomnilnika za Windows:

Windows 10 aplikacija za zapiske
  1. Shranite vse svoje pomembno delo.
  2. Kliknite Win + R odprto teči okno.
  3. Vnesite ukaz mdsched.exe IN teči okno.
  4. Znova zaženite računalnik.
  5. Po ponovnem zagonu izvedite osnovno skeniranje ali izberite ' Napredno 'Možnosti, kot je' Testna mešanica ' ali ' Število prehodov '.
  6. Kliknite F10 za začetek testa.

To so za zdaj začasni popravki.

3] Preverite posodobitve gonilnikov

Posodobitev programske opreme gonilnika

Zastareli gonilniki povzročajo uhajanje pomnilnika. Posodobite vse gonilnike :

  1. Kliknite Win + R in odprto teči okno. Vrsta devmgmt.msc in pritisnite Enter. To vas bo pripeljalo do upravitelja naprav .
  2. Preverite zastarele gonilnike in jih vse posodobite.
  3. Za posodobitve, ki ste jih morda zamudili, si oglejte Windows Update.

Bilo je lahko.

4] Optimizacija zmogljivosti

Prilagodite za najboljše delovanje

Nastavitev zmogljivosti sistema Windows bo upravljal vse, vključno z razporejanjem procesorja in uporabo pomnilnika, da prepreči uhajanje pomnilnika. Sledite tem korakom:

  1. Desni klik ' Ta računalnik »in izberite« Napredno 'Na levi plošči.
  2. Spodaj ' Napredno Na zavihku ' Nastop
Priljubljene Objave