Mälulekete otsimine ja parandamine Windows 10-s

Mälulekete on valedel ressurss arvutiprogrammi tõttu vigane mälu eraldamise. See juhtub siis, kui kasutamata RAM-i asukoht jääb avaldamata. Mäluleket ei tohi segi ajada ruumi lekkimisega, mis viitab programmile, mis kasutab rohkem RAM-i kui vaja. Väidetavalt toimus mäluleke Windows 10/8/7 süsteemis siis, kui mällu pole lihtsalt juurdepääs, hoolimata sellest, et seda ei kasutata.

Mälulekked Windows 10-s

Enne alustamist peaksite teadma, et mälulekk on tarkvara probleem, mida siluda - näiteks Java, JavaScript, C / C ++, Windows jne. RAM-i või kõvaketta füüsiline asendamine pole vajalik.

Mäluleke Windows 10-s

Miks see halb on

On ilmne, et mäluleke on halb, kuna see on viga, süsteemi viga. Kuid uurime, kuidas see süsteemi täpselt mõjutab:

  1. Kuna mälu ei vabane isegi siis, kui seda ei kasutata, põhjustab see mälu tühjenemist.
  2. Mälu ammendumine põhjustab tarkvara vananemist.
  3. Vähendatud vaba mälu suurendab süsteemi reageerimisaega ja halba jõudlust.
  4. Kontrollimata mälulekk võib lõpuks viia rakenduse krahhini.

Mälulekke tuvastamiseks peab programmeerijal olema juurdepääs programmi lähtekoodile.

Lekke asukoht

Probleemi lahendamiseks peame selle kõigepealt tuvastama. Peamised sammud mälulekke leidmiseks on järgmised:

  1. Kinnitus : lekke tekkimise kindlakstegemine.
  2. Tuumarežiimis oleva mälulekke leidmine: tuumarežiimi draiverikomponendi põhjustatud lekke tuvastamine .
  3. Kasutajarežiimis mälulekke leidmine: kasutajarežiimi draiveri või rakenduse põhjustatud lekke tuvastamine .

Mälu eraldamine

On erinevaid režiime, milles rakendused eraldavad RAM-i. Kui pärast kasutamist ruumi ei vabastata, toimub mäluleke olenemata jaotamise viisist. Mõned levinumad jaotamismustrid on:

  1. HealAlloc funktsioon kuhja mälu jaotamiseks. Käitusaja C / C ++ ekvivalendid on malloc ja uued.
  2. VirtualAlloc funktsioon otseseks jaotamiseks OS-ilt.
  3. Kernel32 API-d rakenduse tuumamälu hoidmiseks. Näide: CreateFile, CreateThread.
  4. User32 API-d ja Gdi32 API-d.

Mälulekete vältimine

Me kõik teame, et ennetamine on parem kui ravi, nii et siin on mõned võimalused mälulekke vältimiseks.

Harjumuste jälgimine

Mälulekked Windows 10-s

Peate jälgima üksikute programmide ja rakenduste RAM-i ebanormaalset kasutamist. Võite minna Windowsi tegumihaldurisse, vajutades klahve CTRL + SHIFT + ESC ja lisades veerud nagu Käepidemed, Kasutajaobjektid, GDI-objektid jne.

See aitab teil ressursside kasutamist hõlpsalt jälgida.

Microsofti tööriistad mälulekete diagnoosimiseks

Erinevad tööriistad diagnoosivad erinevate eraldusrežiimide mälulekkeid:

  1. Application Verifier diagnoosib kuhja lekkeid.
  2. UMDH (Windowsi silumisvahendite komponent) diagnoosib üksikute protsesside lekkeid, jälgides kuhjaga mälu jaotusi.
  3. Trace Capture RAM-i kasutamise põhjalikuks analüüsimiseks.
  4. Ka Xperf jälgib kuhja jaotamise mustreid.
  5. CRT Debug Heap mitte ainult ei jälgi kuhja jaotusi, vaid võimaldab lekete minimeerimiseks ka kodeerimispraktikat.
  6. JavaScripti mälulekkeandur silub koodilekkeid.

Kasutamisnõuanded

  1. Kasutage Win32 ressursside ja hunnikute jaotamiseks tuuma HANDLE ja muid nutikaid näpunäiteid.
  2. Hankige ATL-i teegist klassid tuuma jaotamise automaatseks ressursside haldamiseks. C ++ standardil on hunnikute eraldamiseks auto_ptr .
  3. Kombineerige COM-liidese näpunäited tarkade näpunäidete hulka _com_ptr_t või _bstr_t või _variant_t abil .
  4. Jälgige .NET-koodi ebatavalise mälukasutuse korral.
  5. Vältige funktsioonide mitut väljumisteed, et eraldised saaksid funktsiooni lõpuks enamikus plokkides muutujatest vabaneda.
  6. Kasutage kohalikke erandeid alles pärast kõigi eraldiste vabastamist plokis _finally. C ++ erandite kasutamiseks pakkige kõik hunniku ja käsitsemise jaotused nutikateks osutiteks.
  7. Alati helistada PropVariantClear funktsiooni enne reinitializing või äravisatavatest PROPVARIANT objekti.

Mälulekete tõrkeotsing Windowsis

Nii nagu mälulekete ennetamise erinevad viisid, on ka mälulekete peatamiseks erinevaid viise. Kuid enne alustamist ärge unustage kõigepealt luua süsteemi taastepunkt.

1] Sulgege protsessid ja taaskäivitage.

Kui näete, et tarbetu protsess võtab liiga palju RAM-i, saate protsessi lõpetada tegumihalduris. Peate seadme taaskäivitama, et vabanenud ruum oleks teiste protsesside jaoks saadaval. Ilma taaskäivitamiseta mälulekke probleemi ei lahendata. Üks konkreetne protsess, millel on arvuti pidurdamiseks vead, on Runtime Broker. Proovige, kas ainuüksi selle keelamine töötab.

2] Mäludiagnostika tööriistad

Windowsi mäludiagnostika

Windowsi sisseehitatud mäludiagnostika tööriistale juurdepääsemiseks toimige järgmiselt.

  1. Salvestage kõik oma olulised tööd.
  2. Press Win + R avada Run aken.
  3. Käsk on mdsched.exe on Run aken.
  4. Taaskäivitage arvuti.
  5. Pärast taaskäivitamist tehke põhiline skannimine või minge suvanditesse " Täpsemad ", näiteks " Test mix " või " Pass count ".
  6. Testi alustamiseks vajutage klahvi F10 .

Need on endiselt ajutised parandused.

3] Kontrollige draiveri värskendusi

Draiveri tarkvara värskendamine

Vananenud draiverid põhjustavad mälulekkeid. Hoidke kõiki draivereid ajakohasena:

  1. Vajutage Win + R ja avage Run- aken. Sisestage devmgmt.msc ja vajutage sisestusklahvi. See viib teid seadmehaldurisse .
  2. Kontrollige vananenud draivereid ja värskendage neid kõiki.
  3. Uuenduste leidmiseks, mis võivad teil puududa olla, vaadake Windows Update'i

See oli lihtne.

4] Optimeerige jõudlust

Parima jõudluse saavutamiseks reguleerige

Windowsi jõudluse kohandamine haldab kõike, sealhulgas protsessori ajastamist ja mälukasutust, et peatada mälulekked. Järgige neid samme:

  1. Paremklõpsake valikul „ See arvuti ” ja valige vasakpoolsel paanil „ Täpsemad ” sätted.
  2. Vahekaardil „ Täpsem ” minge jaotisseToimivus ” ja seejärel „ Seaded ”.
  3. Märkige ' Parima jõudluse saavutamiseks ' ja klõpsake nuppu OK .
  4. Taaskäivitage ja kontrollige, kas probleem on lahendatud.

Kui see lihtne lahendus ei töötanud, proovige järgmist lahendust.

5] Keelake Startup'is töötavad programmid

Käivitamisprogrammid

Tülikate programmide keelamine on ainus viis mälulekete probleemist vabanemiseks. Minge Task Managerisse ja keelake probleemide lahendamise programm. Kui te ei tea, millised programmid probleeme tekitavad, tehke järgmist.

  1. Minge jaotisesseTegumihaldur ”.
  2. Minge jaotisse Startup .
  3. Keelake käivitusprogrammid, mida pole vaja vaikimisi käivitada.

6] Defrag kõvaketas

Ketta defragmentimine

Kuigi Windows 10 teeb seda teie eest automaatselt, peate jõudluse optimeerimiseks aeg-ajalt kõvakettad defragmentima:

  1. Valige " See arvuti " või " Minu arvuti ".
  2. Paremklõpsake süsteemi kõvakettal (tavaliselt C: draiv).
  3. Minge jaotise „ AtribuudidjaotisseTööriistad ” ja valige käsk „ Optimeeri ”.
  4. Valige draiv defragmentimiseks ja valige " Analüüs ".

Pärast uut killustamist taaskäivitage arvuti.

7] ClearPage'i fail väljalülitamisel

Nüüd muutub see keerukaks - aga ärge muretsege. Lehefaili kustutamine igal väljalülitamisel:

  • Tüüp regedit otsingus käivitada Registry Editor.
  • Sisestage see tee:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMäluhaldus
  • Muutke ClearPageFileAtShutDown väärtuseks „1”.
  • Salvestage muudatused ja taaskäivitage seade.

See peaks seda tegema. Ärge unustage, et teie väljalülitamine võtab veidi rohkem aega.

9] Keela Superfetch

See Windowsi teenus optimeerib jõudlust minimeerides alglaadimise aega. See võimaldab Windowsil hallata RAM-i kasutamist. Elu pärast Superfetchi keelamist pole mugav, kuid tehke seda, kui peate. Proovige probleemi eraldamiseks vähemalt seda üksi:

  1. Otsige üles services.msc ja minge teenushaldurisse.
  2. Otsige ' Superfetch ' ja paremklõpsake seda, et minna ' Properties ' juurde.
  3. Valige ' Peata '.
  4. Samuti rippmenüüst ' Keela ' teenus.
  5. Taaskäivitage arvuti ja kontrollige, kas jõudlus on paranenud.

Kui see ei töötanud, lubage Superfetch.

10] Kontrollige pahavara olemasolu

Pahavara skannimiseks ja kõrvaldamiseks kasutage kolmanda osapoole viirusetõrjetarkvara või Windows 10 sisemist Windows Defenderit. Veenduge, et viirusetõrjet värskendatakse teie operatsioonisüsteemi toetama, nii et see ei muutuks lõpuks mälulekke põhjuseks.

Kõik lahendused, mida teil võib kunagi vaja minna mälulekkide leidmiseks või nende ärahoidmiseks, on just siin. Lisateavet mälulekete kohta saate lugeda MSDN-il ja Microsoftil.

Mälulekked Windows 10-s