Nájdite a opravte úniky dát vo Windows 10/8/7

Obsah:

Nájdite a opravte úniky dát vo Windows 10/8/7
Nájdite a opravte úniky dát vo Windows 10/8/7

Video: Nájdite a opravte úniky dát vo Windows 10/8/7

Video: Nájdite a opravte úniky dát vo Windows 10/8/7
Video: High Density 2022 - YouTube 2024, November
Anonim

Nedostatok pamäte je nesprávne umiestnenie zdroja v počítači kvôli chybnému prideľovaniu pamäte. Stáva sa to, keď sa nevyužíva miesto RAM, ktoré sa nepoužíva. Netesnosť pamäte sa nesmie zamieňať s únikom priestoru, čo znamená, že program používa viac pamäte RAM, než je potrebné. Úniku pamäte na systéme Windows 10/8/7 sa hovorí, že k tomu došlo, keď pamäť nie je dostupná, hoci sa nepoužíva.

Netesnosť pamäte v systéme Windows 10

Skôr než začnete, mali by ste vedieť, že únik pamäte je problém softvéru na ladenie - napríklad v jazykoch Java, JavaScript, C / C ++, Windows atď. Fyzická výmena RAM alebo pevného disku sa nevyžaduje.

Image
Image

Prečo je to zlé

Je zrejmé, že únik pamäte je zle, pretože ide o chybu, chybu v systéme. Ale zistíme, ako presne to ovplyvňuje systém:

  1. Keďže pamäť nie je uvoľnená ani vtedy, keď ju nepoužívate, výsledkom je vyčerpanie pamäte.
  2. Vyčerpaním pamäte dochádza k starnutiu softvéru.
  3. Znížená dostupná pamäť vedie k zvýšenému času odozvy a zhoršenému výkonu systému.
  4. Nekontrolovaná netesnosť pamäte môže nakoniec viesť k havárii aplikácie.

Na identifikáciu úniku pamäte musí mať programátor prístup k zdrojovému kódu programu.

Vyhľadanie úniku

Aby sme problém vyriešili, musíme ho najprv identifikovať. Základné kroky na vyhľadanie netesnosti pamäte sú:

  1. vyhlásenie: Určenie, či došlo k úniku.
  2. Nájdenie úniku pamäte v režime Kernel: Nájdenie úniku spôsobeného komponentom ovládača jadra.
  3. Vyhľadanie úniku pamäte používateľského režimu: Vyhľadanie úniku spôsobeného ovládačom alebo aplikáciou v režime používateľov.

Alokácia pamäte

Existujú rôzne režimy, v ktorých aplikácie prideľujú pamäť RAM. Ak po použití nie je miesto uvoľnené, nevracia sa pamäť bez ohľadu na režim pridelenia. Niektoré spoločné modely prideľovania sú:

  1. Funkcia HealAlloc pri alokovaní pamäte haldy. C / C ++ runtime ekvivalenty sú malloc a nové.
  2. Funkcia VirtualAlloc pre priame pridelenie z operačného systému.
  3. Aplikácie Kernel32 na uchovávanie pamäte jadra pre aplikáciu. Príklad, CreateFile, CreateThread.
  4. API rozhrania User32 a Gdi32 API.

Zabránenie úniku pamäte

Všetci vieme, že prevencia je lepšia ako liečenie, takže tu sú niektoré spôsoby, ako zabrániť úniku pamäti.

Monitorovacie návyky

Image
Image

Je potrebné dávať pozor na neobvyklé využitie RAM v jednotlivých programoch a aplikáciách. Do Správcu úloh systému Windows môžete prejsť stlačením tlačidla CTRL + SHIFT + ESC a pridajte stĺpce, ako sú kľučky, objektov používateľov, objekty GDI atď.

To vám pomôže ľahko sledovať využívanie zdrojov.

Nástroje spoločnosti Microsoft na diagnostiku netesností pamäte

Rôzne nástroje diagnostikujú netesnosti pamäte pre rôzne režimy prideľovania:

  1. Verifikátor aplikácie diagnostikuje únik haldy.
  2. UMDH (súčasť nástrojov Windows Debugging Tools) diagnostikuje netesnosti jednotlivých procesov monitorovaním alokácií pamäte haldy.
  3. Trace Capture pre dôkladnú analýzu využitia RAM.
  4. Xperf tiež sleduje skladby prideľovania haldy.
  5. CRT Debug Heap nielen sleduje alokáciu haldy, ale umožňuje aj postupy kódovania, aby sa minimalizovali netesnosti.
  6. JavaScript detektor úniku pamäti ladí úniky dát v kóde.

Tipy na použitie

  1. Používajte jadro HANDLEs a ďalšie inteligentné ukazovatele pre zdroje Win32 a pridelené haldy.
  2. Získajte triedy na automatické riadenie zdrojov pre prideľovanie jadier z knižnice ATL. Štandard C ++ auto_ptr pre prideľovanie haldy.
  3. Zapojte ukazovatele rozhrania COM do "inteligentných ukazovateľov" pomocou _com_ptr_t alebo _bstr_t alebo _variant_t.
  4. Sledujte.NET kód pre abnormálne využitie pamäte.
  5. Vyhnite sa viacerým výstupným cestám pre funkcie, ktoré umožnia, aby sa kvóty na väčšine blokov uvoľnili alokácie pri ukončení funkcie.
  6. Použiť natívne výnimky až po uvoľnení všetkých alokácií v bloku _finaly. Zbaliť všetky haldy a manipuláciu alokácie do inteligentných ukazovateľov za účelom používania výnimiek C ++.
  7. Vždy volajte PropVariantClear pred opätovným inicializovaním alebo vyradením objektu PROPVARIANT.

Riešenie problémov s únikom pamäte v systéme Windows

Rovnako ako rôzne spôsoby, ako zabrániť úniku pamäte, existujú rôzne spôsoby, ako zabrániť úniku pamäte.

1] Zatvorte procesy a reštartujte.

Ak vidíte, že zbytočný proces preberá príliš veľa pamäte RAM, proces môžete ukončiť v Správcovi úloh. Budete musieť reštartovať zariadenie tak, aby bol voľný priestor dostupný na použitie inými procesmi. Bez problému opätovného spustenia pamäte sa nevyrieši problém. Jeden konkrétny proces, ktorý má chyby na spomalenie počítača je Runtime Broker. Pokúste sa skontrolovať, či je zakázané.

2] Nástroje na diagnostiku pamäte

Prístup k zabudovanému nástroju na diagnostiku pamäte pre systém Windows:
Prístup k zabudovanému nástroju na diagnostiku pamäte pre systém Windows:
  1. Uložte všetky dôležité práce.
  2. lis Win + R otvoriť beh okno.
  3. Zadajte príkaz mdsched.exe v beh okno.
  4. Reštartujte počítač.
  5. Po reštarte vykonajte základné skenovanie alebo prejdite do priečinka ' pokročilý'Ako' Testovací mix"Alebo" Počet kreditov ’.
  6. lis F10 na spustenie testu.

Toto sú stále dočasné opravy.

3] Skontrolujte aktualizácie ovládačov

Zastarané ovládače spôsobujú netesnosť pamäte. Aktualizovať všetky ovládače:
Zastarané ovládače spôsobujú netesnosť pamäte. Aktualizovať všetky ovládače:
  1. lis Win + R a otvorte beh okno. typ devmgmt.msc a stlačte kláves Enter. Budete ísť na Správca zariadení.
  2. Skontrolujte staré ovládače a aktualizujte ich všetky.
  3. Ak ste mohli vynechať aktualizácie, skontrolujte Windows Update.

To bolo jednoduché.

4] Optimalizujte výkonnosť

Úprava výkonu systému Windows spravuje všetko vrátane plánovania procesora a využitia pamäte na zabránenie úniku pamäte. Nasleduj tieto kroky:
Úprava výkonu systému Windows spravuje všetko vrátane plánovania procesora a využitia pamäte na zabránenie úniku pamäte. Nasleduj tieto kroky:
  1. Pravým tlačidlom myši kliknite na položku " Tento počítač'A vyberte' pokročilý'Na ľavej table.
  2. Pod ' pokročilý', Prejdite na' výkon', nasledovaný ' nastavenie ’.
  3. Skontrolujte " Upravte pre najlepší výkon'A kliknite na tlačidlo OK.
  4. Reštartujte a skontrolujte, či je problém vyriešený.

Ak toto jednoduché riešenie nefunguje, vyskúšajte ďalšie riešenie.

5] Zakázať programy spustené pri spustení

Zakázanie problémových programov je jediný spôsob, ako sa zbaviť problémov s únikom pamäte. Prejdite do Správcu úloh a vypnite program na odstraňovanie problémov. Ak neviete, ktoré programy vytvárajú problémy, postupujte takto:
Zakázanie problémových programov je jediný spôsob, ako sa zbaviť problémov s únikom pamäte. Prejdite do Správcu úloh a vypnite program na odstraňovanie problémov. Ak neviete, ktoré programy vytvárajú problémy, postupujte takto:
  1. Ísť do ' Správca úloh ’.
  2. Ísť do ' Začiatok ’.
  3. Vypnite štartovacie programy, ktoré nepotrebujete spustiť ako predvolené.

6] Defragmentujte pevný disk

Napriek tomu, že systém Windows 10 to robí automaticky, možno budete musieť niekedy defragmentovať pevné disky na optimalizáciu výkonu:
Napriek tomu, že systém Windows 10 to robí automaticky, možno budete musieť niekedy defragmentovať pevné disky na optimalizáciu výkonu:
  1. Ísť do ' Tento počítač"Alebo" Môj počítač ’.
  2. Kliknite pravým tlačidlom myši na systémový pevný disk (zvyčajne C: disk).
  3. Ísť do ' náradie"Pod" vlastnosti'A vyberte' optimalizovať ’.
  4. Vyberte disk, ktorý chcete defragmentovať, a vyberte možnosť " analyzovať ’.

Reštartujte počítač po novej fragmentácii.

7] Súbor ClearPage pri vypínaní

Teraz je zložité - ale nebojte sa. Tu je postup, ako vymazať súbor stránok pri každom vypnutí:

  1. typ regedit v sekcii Vyhľadávanie spustite Editor databázy Registry.
  2. Zadajte túto cestu: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagement Manager
  3. Zmeňte hodnotu ClearPageFileAtShutDown na '1'.
  4. Uložte zmeny a reštartujte zariadenie.

To by malo robiť.

9] Zakázať program Superfetch

Táto služba Windows optimalizuje výkon tým, že minimalizuje čas zavádzania. Umožňuje Windows spravovať využitie RAM. Život po vypnutí funkcie Superfetch nie je vhodný, ale urobte to, ak musíte. Skúste to aspoň sám izolovať problém:

  1. Vyhľadávanie services.msc a choďte na správcu služieb.
  2. Hľadať ' Přednačtení'A kliknutím pravým tlačidlom myši prejdite na' vlastnosti ’.
  3. Vyberte položku " prestať ’.
  4. Tiež " zakázať'Služby z rozbaľovacej ponuky.
  5. Reštartujte počítač a skontrolujte, či sa výkon zlepšil.

Povoliť funkciu Superfetch, ak táto nefunguje.

10] Skontrolujte škodlivý softvér

Na skenovanie a odstránenie škodlivého softvéru použite antivírusový softvér tretej strany alebo systém Windows Defender vo Windows 10. Uistite sa, či je antivírus aktualizovaný, aby podporoval váš operačný systém, aby sa nestal dôvodom úniku pamäte.

Každé riešenie, ktoré by ste niekedy museli nájsť alebo zabrániť netesnostiam pamäte, je tu. Viac informácií o netesnostiach pamäte na lokalitách MSDN a Microsoft.

Súvisiace príspevky:

  • Fix Windows Chyby Stop alebo modrá obrazovka smrti
  • Prečo systém Windows zobrazuje menej RAM než je nainštalovaný?
  • Vytvorte Windows 10 Štart, spustenie, vypnutie rýchlejšie
  • Limity fyzickej pamäte v súboroch s výpadkom pre Windows 10/8/7
  • Kompresia pamäte v systéme Windows 10

Odporúča: