Muisti

Kuinka löytää ja korjata muistivuotoja Windows 10 ssä

Kuinka löytää ja korjata muistivuotoja Windows 10 ssä

A Muistivuoto on tietokoneohjelman resurssien väärä sijoitus virheellisen muistin allokoinnin vuoksi. Se tapahtuu, kun RAM-muistipaikka, jota ei käytetä, jää julkaisematta. Muistivuotoa ei pidä sekoittaa tilavuotoon, joka tarkoittaa ohjelmaa, joka käyttää enemmän RAM-muistia kuin on tarpeen. Muistivuoto Windows 10/8/7 -järjestelmässä sanotaan tapahtuneen, kun muistiin ei juuri pääse huolimatta siitä, että sitä ei käytetä.

Muistivuodot Windows 10: ssä

Ennen kuin aloitat, sinun on tiedettävä, että muistivuoto on ohjelmistokysymys virheenkorjaamiseksi - esimerkiksi Java, JavaScript, C / C ++, Windows jne. RAM-muistia tai kiintolevyä ei tarvitse korvata fyysisesti.

Miksi se on huono

On selvää, että muistivuoto on huono, koska se on vika, järjestelmän virhe. Mutta selvitetään, miten se vaikuttaa järjestelmään:

  1. Koska muisti ei vapaudu, vaikka sitä ei käytettäisikään, se johtaa muistin ehtymiseen.
  2. Muistin loppuminen johtaa ohjelmiston ikääntymiseen.
  3. Vähentynyt käytettävissä oleva muisti lisää vasteaikaa ja järjestelmän heikkoa suorituskykyä.
  4. Tarkistamaton muistivuoto voi lopulta johtaa sovelluksen kaatumiseen.

Muistivuodon tunnistamiseksi ohjelmoijalla on oltava pääsy ohjelman lähdekoodiin.

Vuodon sijainti

Ongelman ratkaisemiseksi meidän on ensin tunnistettava se. Perusvaiheet muistivuodon löytämiseksi ovat:

  1. Vahvistus: Vuodon havaitseminen.
  2. Ytintilan muistivuodon löytäminen: Ydintilan ajurikomponentin aiheuttama vuoto.
  3. Käyttäjätilan muistivuodon löytäminen: Käyttäjätilan ohjaimen tai sovelluksen aiheuttaman vuoton sijainti.

Muistin allokointi

On olemassa erilaisia ​​tiloja, joissa sovellukset varaavat RAM-muistia. Jos tilaa ei vapauteta käytön jälkeen, muistivuoto tapahtuu varaustilasta riippumatta. Joitakin yleisiä allokaatiomalleja ovat:

  1. HealAlloc-funktio kasan muistin allokoimiseksi. C / C ++ -aikavastaavat ovat malloc ja uusia.
  2. VirtualAlloc-toiminto suoralle allokoinnille käyttöjärjestelmästä.
  3. Kernel32-sovellusliittymät sovelluksen ytimen muistin pitämiseen. Esimerkki: CreateFile, CreateThread.
  4. User32-sovellusliittymät ja Gdi32-sovellusliittymät.

Muistivuotojen estäminen

Me kaikki tiedämme, että ehkäisy on parempi kuin parannuskeino, joten tässä on joitain tapoja estää muistivuoto.

Seurantatottumukset

Sinun on pidettävä silmällä yksittäisten ohjelmien ja sovellusten epänormaalia RAM-käyttöä. Voit siirtyä Windowsin Tehtävienhallintaan painamalla CTRL + VAIHTO + ESC ja lisää sarakkeet kuten kahvat, käyttäjäobjektit, GDI-objektit jne.

Tämä auttaa sinua seuraamaan helposti resurssien käyttöä.

Lukea: Mitkä ovat tietokoneen muistityypit?

Microsoftin työkalut muistivuotojen diagnosointiin

Erilaiset työkalut diagnosoivat muistivuotoja eri allokointitiloille:

  1. Application Verifier diagnosoi kasan vuotoja.
  2. UMDH (Windows-virheenkorjaustyökalujen komponentti) diagnosoi vuotoja yksittäisille prosesseille seuraamalla kasan muistin varauksia.
  3. Trace Capture RAM-käytön perusteelliseen analysointiin.
  4. Myös Xperf seuraa kasan allokointimalleja.
  5. CRT Debug Heap paitsi seuraa kasan allokaatioita myös mahdollistaa koodauskäytännöt minimoimaan vuotoja.
  6. JavaScript-muistivuototunnistin korjaa muistivuodot koodeissa.

Käyttövinkit

  1. Käytä ydintä KAHVAs ja muut älykkäät osoittimet Win32-resursseille ja kasan allokoinnille.
  2. Hanki luokat automaattista resurssien hallintaa varten ytimen allokoinnille ATL-kirjastosta. C ++ -standardilla on auto_ptr kasan jakamiseen.
  3. Kapseloi COM-liitäntäosoittimet "älykkäisiin osoittimiin" _com_ptr_t tai _bstr_t tai _variantti.
  4. Seuraa .NET-koodi epänormaalille muistin käytölle.
  5. Vältä useita funktioiden poistumisreittejä, jotta varaukset vapautuvat muuttujista useimmissa lohkoissa funktion loppuun mennessä.
  6. Käytä natiivipoikkeuksia vasta, kun kaikki varaukset on vapautettu _finally-lohkossa. Kääri kaikki kasan ja käsittelyn varaukset älykkäisiin osoittimiin C ++ -poikkeuksien käyttämiseksi.
  7. Soita aina PropVariantClear ennen PROPVARIANT-objektin uudelleen alustamista tai hävittämistä.

Muistivuotojen vianmääritys Windowsissa

Aivan kuten eri tapoja estää muistivuodot, on olemassa useita tapoja estää muistivuodot. Mutta ennen kuin aloitat, muista ensin luoda järjestelmän palautuspiste.

1] Sulje prosessit ja käynnistä se uudelleen.

Jos huomaat tarpeettoman prosessin vievän liikaa RAM-muistia, voit lopettaa prosessin Tehtävienhallinnassa. Sinun on käynnistettävä laite uudelleen, jotta vapautunut tila on käytettävissä muiden prosessien käyttöön. Ilman uudelleenkäynnistysmuistivuotoa ei ratkaista. Yksi tietty prosessi, jossa on vikoja tietokoneen hidastamiseksi, on Runtime Broker. Kokeile, toimiiko vain tämän poistaminen käytöstä.

2] Muistidiagnostiikkatyökalut

Sisäisen Windows-muistin diagnostiikkatyökalun käyttäminen:

  1. Tallenna kaikki tärkeät työt.
  2. Lehdistö Win + R avata Juosta ikkuna.
  3. Kirjoita komento mdsched.exe että Juosta ikkuna.
  4. Käynnistä tietokone uudelleen.
  5. Suorita uudelleenkäynnistyksen jälkeen peruskannaus tai siirryPitkälle kehittynyt'vaihtoehdot kuten'TestiseostaiPassien lukumäärä'.
  6. Lehdistö F10 aloittaaksesi testin.

Nämä ovat edelleen väliaikaisia ​​korjauksia.

3] Tarkista ohjainpäivitykset

Vanhentuneet ohjaimet aiheuttavat muistivuotoja. Pidä kaikki ohjaimet ajan tasalla:

  1. Lehdistö Win + R ja avaa Juosta ikkuna. Tyyppi devmgmt.msc ja paina Enter. Se vie sinut Laitehallinta.
  2. Tarkista vanhentuneet ohjaimet ja päivitä ne kaikki.
  3. Jos haluat päivityksiä, saatat olla unohtanut, tarkista Windows Update.

Tämä oli yksinkertaista.

4] Optimoi suorituskyky

Windowsin säätäminen suorituskyvyn mukaan hallitsee kaiken, myös prosessorin ajoituksen ja muistin käytön muistivuotojen estämiseksi. Toimi seuraavasti:

  1. Napsauta hiiren kakkospainikkeellaTämä tietokone'ja valitse'Pitkälle kehittynytvasemmanpuoleisessa ruudussa.
  2. Alla 'Pitkälle kehittynyt'välilehti, siirry'Esitys', jonka jälkeen 'asetukset'.
  3. Tarkistaa 'Säädä parhaan suorituskyvyn saavuttamiseksija napsauta OK.
  4. Käynnistä uudelleen ja tarkista, onko ongelma ratkaistu.

Jos tämä yksinkertainen ratkaisu ei toiminut, kokeile seuraavaa ratkaisua.

5] Poista Käynnistyksen yhteydessä käynnissä olevat ohjelmat käytöstä

Auttavien ohjelmien poistaminen käytöstä on ainoa tapa päästä eroon muistivuodosta. Siirry Tehtävienhallintaan ja poista vianmääritysohjelma käytöstä. Jos et tiedä mitkä ohjelmat aiheuttavat ongelmia, tee tämä:

  1. Mene 'Tehtävienhallinta'.
  2. Mene 'Aloittaa'.
  3. Poista käytöstä käynnistysohjelmat, joita sinun ei tarvitse suorittaa oletuksena.

6] Eheytä kiintolevy

Vaikka Windows 10 tekee tämän puolestasi automaattisesti, sinun on ehkä ajoittain eheytettävä kiintolevyt suorituskyvyn optimoimiseksi:

  1. Mene 'Tämä tietokonetaiTietokoneeni'.
  2. Napsauta hiiren kakkospainikkeella järjestelmän kiintolevyä (yleensä C: asema).
  3. Mene 'Työkalut' alla 'Ominaisuudet'ja valitse'Optimoida'.
  4. Valitse eheytettävä asema ja valitse 'Analysoida'.

Käynnistä tietokone uudelleen uuden sirpaloitumisen jälkeen.

7] ClearPage-tiedosto sammutettaessa

Se on nyt monimutkainen - mutta älä huoli. Näin tyhjennät sivutiedoston jokaisessa sammutuksessa:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMuistihallinta

Tämän pitäisi tehdä se. Muista, että sammutusprosessisi vie vähän enemmän aikaa.

9] Poista Superfetch käytöstä

Tämä Windows-palvelu optimoi suorituskyvyn minimoimalla käynnistysajan. Sen avulla Windows voi hallita RAM-muistin käyttöä. Elämä Superfetchin poistamisen jälkeen ei ole kätevää, mutta tee se tarvittaessa. Ainakin kokeile tätä yksin ongelman eristämiseksi:

  1. Hae palvelut.msc ja mene palvelupäällikölle.
  2. Etsiä 'Superhaku'ja napsauta sitä hiiren kakkospainikkeella siirtyäksesi kohtaan'Ominaisuudet'.
  3. Valitse 'Lopettaa'.
  4. Myös 'Poista käytöstä'palvelu avattavasta valikosta.
  5. Käynnistä tietokone uudelleen ja tarkista, onko suorituskyky parantunut.

Ota Superfetch käyttöön, jos tämä ei toiminut.

10] Tarkista haittaohjelmien varalta

Käytä kolmannen osapuolen virustorjuntaohjelmaa tai Windows 10: n sisäistä Windows Defender -ohjelmaa haittaohjelmien skannaamiseen ja poistamiseen. Varmista, että virustentorjunta on päivitetty tukemaan käyttöjärjestelmääsi, jotta siitä ei pääse muistivuodon syytä.

Kaikki ratkaisut, joita saatat tarvita muistivuotojen löytämiseksi tai estämiseksi, ovat täällä. Voit lukea lisää muistivuodoista MSDN: ssä ja Microsoftissa.

Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...