Kaip rasti ir ištaisyti atminties nutekėjimą sistemoje „Windows 10“.

How Find Fix Memory Leaks Windows 10



Atminties nutekėjimas sistemoje „Windows“ yra rimta problema, su kuria susiduria vartotojai. Sužinokite, kaip patikrinti, rasti, užkirsti kelią ir ištaisyti Windows atminties nutekėjimą. Nors tai sunku, keli žingsniai gali padėti.

Jei jūsų „Windows 10“ kompiuteryje yra našumo problemų, tai gali būti dėl atminties nutekėjimo. Štai kaip rasti ir pašalinti atminties nutekėjimą sistemoje „Windows 10“. Kai pirmą kartą įdiegiate „Windows 10“, verta paleisti sistemos failų tikrintuvą. Tai patikrins ir ištaisys sugadintus sistemos failus. Norėdami tai padaryti, atidarykite komandų eilutę ir įveskite: sfc /scannow Baigę nuskaitymą, iš naujo paleiskite kompiuterį. Jei vis dar matote našumo problemų, laikas patikrinti, ar nėra atminties nutekėjimo. Norėdami tai padaryti, atidarykite užduočių tvarkyklę ir eikite į skirtuką Performance. Stulpelyje Atmintis matysite, kiek atminties naudojama. Jei šis skaičius nuolat didėja, greičiausiai turite atminties nutekėjimą. Norėdami pašalinti atminties nutekėjimą, turite nustatyti, kuri programa sukelia problemą. Norėdami tai padaryti, eikite į skirtuką Išsami informacija ir patikrinkite PID stulpelį. Tai parodys kiekvienos veikiančios programos PID (proceso ID). Ieškokite programos su didžiausiu PID numeriu ir užbaikite šį procesą. Baigę procesą iš naujo paleiskite kompiuterį ir patikrinkite, ar problema išspręsta. Jei ne, pakartokite procesą, kol surasite kaltininką.



KAM Atminties nutekėjimas yra neteisingas resursų paskirstymas kompiuterio programoje dėl netinkamo atminties paskirstymo. Tai atsitinka, kai nuvyko nepanaudota erdvė lieka neišleista. Atminties nutekėjimo nereikėtų painioti su vietos nutekėjimu, kuris reiškia, kad programa naudoja daugiau RAM nei reikia. Pranešama, kad „Windows 10/8/7“ sistemos atminties nutekėjimas įvyko, kai atmintis tiesiog nėra prieinama, nors ji ir nenaudojama.







Atminties nutekėjimas sistemoje „Windows 10“.

Prieš pradėdami, turėtumėte žinoti, kad atminties nutekėjimas yra programinės įrangos problema, kurią reikia derinti, pvz., Java, JavaScript, C/C++, Windows ir kt. Fiziškai keisti RAM ar standžiojo disko nereikia.





Atminties nutekėjimas sistemoje „Windows 10“.



Kodėl tai blogai

Akivaizdu, kad atminties nutekėjimas yra blogas dalykas, nes tai yra klaida, sistemos trūkumas. Tačiau išsiaiškinkime, kaip tai tiksliai veikia sistemą:

  1. Kadangi atmintis neatlaisvinama, net jei ji nenaudojama, ji išeikvojama.
  2. Dėl atminties išeikvojimo programinė įranga sensta.
  3. Sumažinus turimą atmintį, pailgėja atsako laikas ir sumažėja sistemos našumas.
  4. Nekontroliuojamas atminties nutekėjimas galiausiai gali sugadinti programą.

Kad aptiktų atminties nutekėjimą, programuotojui reikia prieigos prie programos šaltinio kodo.

Nuotėkio aptikimas

Norėdami išspręsti problemą, pirmiausia turime ją nustatyti. Pagrindiniai atminties nutekėjimo aptikimo veiksmai:



  1. Patvirtinimas : nuotėkio aptikimas.
  2. Atminties nutekėjimo radimas branduolio režimu : ieškokite nuotėkio, kurį sukėlė branduolio režimo tvarkyklės komponentas.
  3. Atminties nutekėjimų radimas vartotojo režimu : tvarkyklės arba vartotojo režimo programos sukelto nuotėkio aptikimas.

Atminties paskirstymas

Yra skirtingi RAM paskirstymo pagal programas būdai. Jei po naudojimo vietos neatlaisvinama, neatsižvelgiant į paskirstymo režimą, atsiras atminties nutekėjimas. Štai keletas bendrų platinimo modelių:

  1. Funkcija „HealAlloc“, skirta krūvos atminčiai paskirstyti. C/C++ vykdymo laiko atitikmenys yra malloc ir nauji.
  2. „VirtualAlloc“ funkcija, skirta tiesioginiam paskirstymui iš OS.
  3. Kernel32 API, skirtos programos branduolio atminčiai saugoti. Pavyzdys: CreateFile, CreateThread.
  4. API User32 ir API Gdi32.

Atminties nutekėjimo prevencija

Visi žinome, kad prevencija yra geriau nei gydymas, todėl čia yra keletas būdų, kaip išvengti atminties nutekėjimo.

Įpročių stebėjimas

Atminties nutekėjimas sistemoje „Windows 10“.

„Windows 10“ piratų žaidimai

Turite saugotis, kad atskiros programos ir programos nenaudos nenormalaus RAM. Galite eiti į „Windows“ užduočių tvarkytuvę spustelėdami CTRL + SHIFT + ESC ir pridėkite stulpelius, pvz., Rankenos, Vartotojo objektai, GDI objektai ir kt.

Tai padės lengvai sekti išteklių naudojimą.

„Microsoft“ įrankiai, skirti diagnozuoti atminties nutekėjimą

Įvairūs įrankiai diagnozuoja atminties nutekėjimą skirtingiems paskirstymo režimams:

  1. „Application Verifier“ diagnozuoja krūvos nuotėkį.
  2. UMDH (Windows derinimo įrankių komponentas) diagnozuoja kiekvieno proceso nutekėjimą stebėdamas krūvos paskirstymą.
  3. „Trace Capture“ skirta išsamiai RAM naudojimo analizei.
  4. Xperf taip pat seka krūvos paskirstymo modelius.
  5. CRT Debug Heap ne tik seka krūvos paskirstymą, bet ir leidžia taikyti kodavimo metodus, siekiant sumažinti nutekėjimą.
  6. „JavaScript“ atminties nutekėjimo detektorius derina atminties nutekėjimą kodus.

Naudojimo patarimai

  1. Naudokite branduolį SUSIDOROTI SU s ir kitos išmaniosios nuorodos, skirtos „Win32“ ištekliams ir krūvoms paskirstyti.
  2. Gaukite klases, skirtas automatiniam išteklių valdymui pagrindiniam paskirstymui iš ATL bibliotekos. C++ standartas turi auto_ptr už krūvos paskirstymą.
  3. Įtraukite COM sąsajos nuorodas į „išmaniąsias nuorodas“ su _com_ptr_t arba _bstr_t arba _variantas_t .
  4. Stebėkite .NET kodą dėl neįprasto atminties naudojimo.
  5. Venkite kelių funkcijų išėjimo kelių, kad kintamieji paskirstymai daugumoje blokų būtų atlaisvinti iki funkcijos pabaigos.
  6. Pasirinktines išimtis naudokite tik tada, kai bus atlaisvinti visi bloko _galutinai paskirstymai. Apvyniokite visą krūvą ir apdorokite paskirstymus išmaniosiomis rodyklėmis, kad galėtumėte naudoti C++ išimtis.
  7. Visada skambinkite PropVariantClear prieš iš naujo inicijuodami arba ištrindami objektą PROPVARIANT.

Ištaisykite atminties nutekėjimą sistemoje „Windows“.

Kaip ir įvairūs atminties nutekėjimo prevencijos būdai, taip pat yra įvairių būdų, kaip išvengti atminties nutekėjimo. Tačiau prieš pradėdami nepamirškite pirmiausia sukurkite sistemos atkūrimo tašką .

1] Uždarykite procesus ir paleiskite iš naujo.

Jei matote, kad nereikalingas procesas užima per daug RAM, galite užbaigti procesą užduočių tvarkytuvėje. Turėsite iš naujo paleisti įrenginį, kad atlaisvinta vieta būtų prieinama kitiems procesams. Be perkrovimo atminties nutekėjimo problema nebus išspręsta. Vienas konkretus procesas, turintis klaidų, lėtinančių kompiuterį, yra Runtime Broker. Pabandykite pamatyti, ar tiesiog išjungus tai veikia.

2] Atminties diagnostikos įrankiai

„Windows“ atminties diagnostika

Norėdami pasiekti įmontuotą Atminties diagnostikos įrankis „Windows“:

  1. Išsaugokite visus savo svarbius darbus.
  2. Spustelėkite Win + R atviras paleisti langas.
  3. Įveskite komandą mdsched.exe IN paleisti langas.
  4. Iš naujo paleiskite kompiuterį.
  5. Paleidę iš naujo, atlikite pagrindinį nuskaitymą arba pasirinkite „ Išplėstinė 'Tokios parinktys kaip' Bandomasis mišinys ' arba ' Praėjimų skaičius “.
  6. Spustelėkite F10 kad pradėtumėte testą.

Kol kas tai yra laikini pataisymai.

3] Patikrinkite, ar nėra tvarkyklių naujinimų

Tvarkyklės programinės įrangos atnaujinimas

Pasenusios tvarkyklės sukelia atminties nutekėjimą. Atnaujinti visas tvarkykles :

  1. Spustelėkite Win + R ir atidaryti paleisti langas. Tipas devmgmt.msc ir paspauskite Enter. Tai nuves jus į įrenginių tvarkytuvė .
  2. Patikrinkite, ar nėra pasenusių tvarkyklių ir atnaujinkite jas visas.
  3. Jei reikia naujinimų, kurių galbūt praleidote, peržiūrėkite „Windows Update“.

Tai buvo lengva.

pašalinti atskiras „Office 2016“ programas

4] Našumo optimizavimas

Sureguliuokite, kad našumas būtų geriausias

„Windows“ našumo derinimas valdys viską, įskaitant procesoriaus planavimą ir atminties naudojimą, kad būtų išvengta atminties nutekėjimo. Atlikite šiuos veiksmus:

  1. Dešiniuoju pelės mygtuku spustelėkite ' Šis kompiuteris 'ir pasirinkite' Išplėstinė ' Kairiajame skydelyje.
  2. Pagal ' Išplėstinė Skirtuke ' Pasirodymas
Populiarios Temos