Pronađite i popravite propuste u memoriji u sustavu Windows 10/8/7

Sadržaj:

Pronađite i popravite propuste u memoriji u sustavu Windows 10/8/7
Pronađite i popravite propuste u memoriji u sustavu Windows 10/8/7

Video: Pronađite i popravite propuste u memoriji u sustavu Windows 10/8/7

Video: Pronađite i popravite propuste u memoriji u sustavu Windows 10/8/7
Video: How to Control Android Phone from a PC [via USB & WiFi] - YouTube 2024, Svibanj
Anonim

Smanjenje memorije je pogrešno mjesto resursa u računalnom programu zbog pogrešne raspodjele memorije. To se događa kada neovlaštena lokacija RAM-a nije u uporabi. Smanjenje memorije ne treba zbuniti sa propuštanjem prostora, što se odnosi na program koji koristi više RAM nego što je potrebno. Pukotina memorije na sustavu Windows 10/8/7 se kaže da je došlo kada memorija nije dostupna unatoč neaktivnosti.

Smanjenje memorije u sustavu Windows 10

Prije nego što započnete, trebali biste znati da je propuštanje memorije softverski problem za uklanjanje pogrešaka - na primjer Java, JavaScript, C / C + +, Windows itd. Fizička zamjena RAM-a ili tvrdi disk nije potrebna.

Image
Image

Zašto je loše

Očito je da je curenje memorije loše jer je to bug, mana u sustavu. No, saznajmo kako to točno utječe na sustav:

  1. Budući da se memorija ne oslobađa čak i kada nije u uporabi, to rezultira smanjenjem memorije.
  2. Iscrpljenost memorije dovodi do starenja softvera.
  3. Smanjena dostupna memorija dovodi do povećanog vremena odaziva i slabog rada sustava.
  4. Nepovezana istjecanja memorije može na kraju dovesti do pad sustava aplikacije.

Da bi se utvrdilo da je curenje memorije, programer mora imati pristup izvornom kodu programa.

Pronalaženje curenja

Da bismo riješili problem, moramo ga najprije utvrditi. Osnovni koraci za lociranje curenja memorije su:

  1. potvrđivanje: Utvrđivanje je li došlo do curenja.
  2. Pronalaženje kvarova memorije u načinu kernela: Pronalaženje propuštanja uzrokovana komponentom vozača u modu kernela.
  3. Pronalaženje propuštanja memorije korisnika: Pronalaženje propuštanja uzrokovane upravljačkim programom korisnika ili aplikacijom.

Alokacija memorije

Postoje različiti načini na koje aplikacije dijele RAM. Ako se prostor ne oslobađa nakon uporabe, curenje memorije će se dogoditi bez obzira na način dodjele. Neki od zajedničkih obrazaca dodjele su:

  1. HealAlloc funkcija za raspodjelu memorije. C / C ++ ekvivalenti runtime su malloc i novi.
  2. VirtualAlloc funkcija za izravnu dodjelu OS-a.
  3. API-ji Kernel32 za držanje memorije jezgre za aplikaciju. Primjer, CreateFile, CreateThread.
  4. User32 API-ji i Gdi32 API-ji.

Sprječavanje curenja memorije

Svi znamo da je prevencija bolja od liječenja pa evo nekih načina za sprečavanje propuštanja memorije.

Praćenje navika

Image
Image

Morate paziti na abnormalno korištenje RAM-a pomoću pojedinačnih programa i aplikacija. Možete se uključiti u Windows Task Manager tako da pritisnete CTRL + SHIFT + ESC i dodajte stupce poput ručaka, korisničkih objekata, GDI objekata i sl.

To će vam olakšati praćenje korištenja resursa.

Microsoftovi alati za dijagnosticiranje curenja memorije

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

  1. Verifier aplikacije dijagnosticira curenje hrpe.
  2. UMDH (komponenta alata za uklanjanje pogrešaka sustava Windows) dijagnosticira gubitke pojedinih procesa praćenjem alokacija memorije.
  3. Trace Hvatanje za temeljitu analizu korištenja RAM-a.
  4. Xperf također pronalazi uzorke raspodjele gomile.
  5. CRT Debug Heap ne samo da prati raspodjelu gomile već i omogućuje kodiranje kako bi se smanjile propuštanja.
  6. JavaScript detektora propuštanja memorije otklanja propuštanje memorije kodova.

Savjeti za upotrebu

  1. Koristite kernel RUČKAs i takve druge pametne pokazatelje za Win32 resurse i nagomilavanje gomila.
  2. Nabavite klase za automatsko upravljanje resursima za alokacije kernela iz ATL knjižnice. C ++ standard ima auto_ptr za raspodjelu gomile.
  3. Encapsulirati pokazivače COM sučelja unutar "pametnih pokazivača" uz pomoć _com_ptr_t ili _bstr_t ili _variant_t.
  4. Pratite.NET kod za abnormalno korištenje memorije.
  5. Izbjegavajte višestruke izlazeće putove za funkcije kako bi se alokacije oslobodile od varijabli u većini blokova do kraja funkcije.
  6. Koristite izvornu iznimku samo nakon oslobađanja svih alokacija u kraju. Omotajte sve gomile i upravljajte alokacijama u pametne pokazivače kako biste koristili C ++ iznimke.
  7. Uvijek nazovite PropVariantClear prije ponovnog pokretanja ili odbacivanja PROPVARIANT objekta.

Otklanjanje poteškoća s memorijom u sustavu Windows

Baš kao i različiti načini za sprečavanje propuštanja memorije, postoje razni načini za zaustavljanje curenja memorije.

1] Zatvorite procese i ponovno pokrenite.

Ako vidite da nepotrebni proces pokreće previše RAM-a, možete završiti postupak u Upravitelju zadataka. Morat ćete ponovo pokrenuti uređaj tako da oslobođeni prostor bude dostupan za druge procese. Bez ponovnog pokretanja problema s curenjem memorije neće se riješiti. Jedan poseban proces koji ima greške za usporavanje računala je Runtime Broker. Pokušajte ako onemogućivanje to funkcionira sam.

2] Alati za dijagnostiku memorije

Za pristup ugrađenom alatu za dijagnostiku memorije za sustav Windows:
Za pristup ugrađenom alatu za dijagnostiku memorije za sustav Windows:
  1. Spremite sav svoj važan posao.
  2. tisak Win + R otvoriti Trčanje prozor.
  3. Upišite naredbu mdsched.exe u Trčanje prozor.
  4. Ponovo pokrenite računalo.
  5. Nakon ponovnog pokretanja izvršite osnovno skeniranje ili idite na ' Napredna'Opcije poput' Mješavina za ispitivanje' ili ' Broj računa ’.
  6. tisak F10 za početak testiranja.

To su još uvijek privremeni popravci.

3] Provjerite ažuriranja upravljačkog programa

Stariji vozači uzrokuju propuštanje memorije. Svi upravljački programi ažurirani:
Stariji vozači uzrokuju propuštanje memorije. Svi upravljački programi ažurirani:
  1. tisak Win + R i otvorite Trčanje prozor. Tip devmgmt.msc i pritisnite Enter. To će vas odvesti na Upravitelj uređaja.
  2. Provjerite zastarjele upravljačke programe i ažurirajte ih sve.
  3. Za ažuriranja možda ste propustili, provjerite u sustavu Windows Update.

Ovo je bilo jednostavno.

4] Optimizirajte izvedbu

Podešavanje sustava Windows za performanse upravlja sve, uključujući raspoređivanje procesora i korištenje memorije kako bi se zaustavilo curenje memorije. Prati ove korake:
Podešavanje sustava Windows za performanse upravlja sve, uključujući raspoređivanje procesora i korištenje memorije kako bi se zaustavilo curenje memorije. Prati ove korake:
  1. Desnom tipkom miša kliknite ' Ovo računalo'I odaberite' Napredna'Postavke na lijevom oknu.
  2. Ispod ' Napredna', Idite na' Izvođenje', Nakon čega slijedi' postavke ’.
  3. Ček ' Podesite za najbolju izvedbuI kliknite u redu.
  4. Ponovo pokrenite i provjerite je li problem riješen.

Ako ovo jednostavno rješenje nije uspjelo, pokušajte sljedeće rješenje.

5] Onemogućite programe koji se pokreću pri pokretanju

Onemogućavanje problematičnih programa jedini je način da se riješite problema s curenjem memorije. Idite na Task Manager i onemogućite program za rješavanje problema. Ako ne znate koji programi stvaraju nevolje, učinite sljedeće:
Onemogućavanje problematičnih programa jedini je način da se riješite problema s curenjem memorije. Idite na Task Manager i onemogućite program za rješavanje problema. Ako ne znate koji programi stvaraju nevolje, učinite sljedeće:
  1. Ići ' Upravitelj zadataka ’.
  2. Ići ' Stavljanje u pogon ’.
  3. Onemogućite programe za pokretanje koje ne morate pokrenuti prema zadanim postavkama.

6] Ogromni tvrdi disk

Iako Windows 10 to automatski čini za vas, možda ćete morati povremeno odgonetnuti tvrde diskove kako biste optimizirali performanse:
Iako Windows 10 to automatski čini za vas, možda ćete morati povremeno odgonetnuti tvrde diskove kako biste optimizirali performanse:
  1. Ići ' Ovo računalo' ili ' Moje računalo ’.
  2. Desnom tipkom miša kliknite sistemski tvrdi disk (obično C: disk).
  3. Ići ' alat' pod, ispod ' Nekretnine'I odaberite' Optimizirajte ’.
  4. Odaberite pogon za odmrzavanje i odaberite ' Analizirati ’.

Ponovo pokrenite računalo nakon nove fragmentacije.

7] ClearPage datoteka pri zaustavljanju

Sada postaje složen - ali ne brinite. Evo kako izbrisati datoteku stranice pri svakom isključivanju:

  1. Tip regedit na traci za pokretanje programa Registry Editor.
  2. Unesite ovaj put: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
  3. Promjena vrijednosti ClearPageFileAtShutDown na '1'.
  4. Spremite promjene i ponovo pokrenite uređaj.

To bi trebao to učiniti.

9] Onemogućite Superfetch

Ova usluga Windows optimizira performanse umanjujući vrijeme dizanja. Omogućuje Windowsu upravljanje korištenjem RAM-a. Život nakon onemogućavanja Superfetch nije prikladan, ali to učiniti ako je potrebno. Najmanje ovo pokušajte izolirati problem:

  1. traži service.msc i idite na Upravitelj usluga.
  2. Tražiti ' SuperFetch'I desnim klikom miša kliknite " Nekretnine ’.
  3. Odaberi ' Stop ’.
  4. Također ' onesposobiti'Usluga s padajućeg izbornika.
  5. Ponovo pokrenite računalo i provjerite je li se poboljšala.

Omogućite Superfetch ako ovaj ne funkcionira.

10] Provjerite zlonamjerni softver

Koristite protuvirusni softver treće strane ili Windows Defender za Windows 10 da biste skenirali i uklonili zlonamjerni softver. Pobrinite se da se antivirus ažurira kako bi podržao vaš operativni sustav kako ne bi postao razlog za curenje memorije.

Svako rješenje koje ste ikada trebali pronaći ili spriječiti curenje memorije je upravo ovdje. Možete pročitati više o curenju memorije na MSDN i Microsoftu.

Vezane objave:

  • Popravite pogreške sustava Windows za zaustavljanje ili Plavi zaslon smrti
  • Zašto Windows pokazuje manje RAM-a nego što je instaliran?
  • Napravite Windows 10 Start, Run, Shutdown Brže
  • Ograničenja tjelesne memorije u datotekama za slanje kvara za Windows 10/8/7
  • Kompresija memorije u sustavu Windows 10

Preporučeni: