Toimisto

Etsi ja korjaa muistivuodot Windows 10/8/7

Miten löytää timanttia! | Minecraft Tutoriaali

Miten löytää timanttia! | Minecraft Tutoriaali

Sisällysluettelo:

Anonim

A Muistivuoto on vääränlainen resurssi tietokoneohjelmassa virheellisen muistin allokoinnin vuoksi. Se tapahtuu, kun RAM-sijainti, jota ei ole käytössä, jää edelleen julkaisematta. Muistivuotoa ei pidä sekoittaa tilavuotoon, mikä viittaa ohjelmaan, joka käyttää enemmän RAM-muistia kuin on tarpeen. Muistin vuotaminen Windows 10/8/7 -järjestelmässä sanotaan tapahtuneen, kun muisti ei ole käytettävissä, vaikka sitä ei ole käytössä.

Muistivivuudet Windows 10: ssä

Ennen kuin aloitat, sinun tulisi tietää, että

Miksi se on huonoa

On ilmeistä, että muistia on muistettava. Muistin vuotaminen on ongelmanratkaisuongelma, esimerkiksi Java, JavaScript, C / C ++, Windows jne. vuoto on huono, koska se on vika, virhe järjestelmässä. Mutta huomaamme, miten se vaikuttaa järjestelmään:

  1. Koska muistia ei ole vapautettu, vaikka sitä ei käytetä, se johtaa muistin ehtymiseen.
  2. Muistin loppuminen vie ohjelmiston ikääntymistä.
  3. Vähennetty käytettävissä oleva muisti seuraa järjestelmän vasteaikaa ja järjestelmän heikkoa suorituskykyä
  4. Väärinkäyttämättömän muistivuoto saattaa johtaa sovelluksen kaatumiseen

Muistivuotojen tunnistamiseksi ohjelmoija tarvitsee pääsyn lähdekoodiin ohjelma.

Vuotojen sijainti

Ongelman ratkaisemiseksi meidän on ensin tunnistettava se. Perusvaiheet muistivuotojen etsimiseksi ovat:

  1. Vahvistus : Vuodon syntymisen määrittäminen
  2. Kernel-tilan muistivuodon löytäminen : Järjestelmän ytimen ohjauskomponentin aiheuttama vuotaminen.
  3. Käyttäjätilan muistivuodon löytäminen : Käyttäjämuotoisen ohjaimen tai sovelluksen aiheuttama vuotojen etsiminen

Muistin allokointi

RAM-muistissa on useita eri tiloja. Jos tilaa ei vapauteta käytön jälkeen, muistivuoto esiintyy riippumatta jakotavasta. Joitakin yleisiä jakamismalleja ovat:

  1. HealAlloc-funktio kasa muistin allokoinnille.
  2. VirtualAlloc-funktio suoralle allokoinnille OS: ltä.
  3. Kernel32 API: t pitävät sovelluksen ytimen muistia.
  4. User32-sovellusliittymät ja Gdi32-sovellusliittymät

Muistivuotojen estäminen

Kaikki tiedämme, että ennaltaehkäisy on parempaa kuin parannuskeino, joten jotkin keinot estää muistivuoto.

Valvontatavat

Sinun on pidettävä silmällä yksittäisten ohjelmien ja sovellusten epänormaalista RAM-muistin käytöstä. Voit siirtyä Windows Task Manager -ohjelmaan painamalla CTRL + SHIFT + ESC ja lisää sarakkeet, kuten kädensijat, käyttäjäobjektit, GDI-esineet jne.

Näin voit seurata resurssien käyttöä helposti.

Microsoftin työkalut muistiin vuotojen diagnosointiin

Useita työkaluja diagnosoidaan muistivuotoja eri jakotiloille:

  1. Sovelluksen tarkastaja diagnosoi kasan vuotoja.
  2. UMDH (Windows Debugging Toolsin komponentti) diagnosoi vuotoja yksittäisille prosesseille seuraamalla kasa muistimääriä.
  3. Trace Capture perusteellisen analyysin RAM-käyttö.
  4. Xperf myös kappaleet kasaan jakamismalleja.
  5. CRT Debug Heap ei vain jäljittää kasaan jakamista vaan myös mahdollistaa koodausmenetelmien minimoimaan vuotojen.
  6. JavaScript Memory Leak

Käytä ydintä

  1. HANDLE s ja muita älykkäitä osoittimia Win32-resursseille ja kasaan allokoille. Hanki luokkia automaattiseen resurssienhallintaan ytimen jakamista varten ATL-kirjasto.
  2. _com_ptr_t tai
  3. _bstr_t tai _variant_t avulla auto_ptr. Tarkkaile.NET-koodia epänormaalin muistin käytön suhteen.
  4. Vältä useita poistumispolkuja toiminnoille, jotta varat voidaan vapauttaa useimmissa lohkoissa muuttujista funktion loppuessa.
  5. Käytä ainoastaan ​​alkuperäisiä poikkeuksia kun kaikki varaukset on vapautettu lopullisesti. Kierrä kaikki kasat ja käsittele jakoja älykkäisiin osoitetietoihin, jotta voit käyttää C ++ poikkeuksia.
  6. PropVariantClear -toiminto ennen PROPVARIANT-objektin uudelleentäyttämistä tai hylkäämistä.

Muistivuotojen vianmääritys Windowsissa

Samoin kuin muitakin tapoja estää muistivuotoja, 1] Sulje prosessit ja käynnistä uudelleen.

Jos näet, että tarpeeton prosessi vie liikaa RAM-muistia, voit lopettaa prosessin Tehtävienhallinnassa. Sinun on käynnistettävä laite uudelleen, jotta vapautettu tila on käytettävissä muiden prosessien käyttöön. Ilman uudelleenkäynnistystä muistivuotoa ei ratkaista. Yksi erityinen prosessi, jolla on vikoja PC: n hidastamiseksi, on Runtime Broker.

Käytä sisäänrakennettua muisti-diagnostiikkatyökalua Windows:

Tallenna kaikki tärkeät työt.

  1. Paina
  2. Win + R avata Suorita -ikkunan. Kirjoita
  3. mssched.exe -ikkunassa
  4. Käynnistä tietokone uudelleen
  5. . Testiyhdistelmä tai Pass count `. Paina

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

3] Tarkista ohjainpäivitykset

Vanhentuneet ajurit aiheuttavat muistivuotoja. Pidä kaikki ajurit päivitettynä:

  1. Paina Win + R ja avaa Suorita -ikkuna. Kirjoita devmgmt.msc ja paina Enter. Se vie sinut Laitehallinta .
  2. Tarkista vanhentuneet ohjaimet ja päivitä ne kaikki.
  3. Jos päivitykset ovat jääneet, tarkista Windows Update.

Tämä on yksinkertainen.

4] Optimoi suorituskyky

Windowsin suorituskyvyn säätäminen hallitsee kaikkea, kuten prosessorin ajastuksen ja muistin käytön, jotta muistivuotot pysyvät ennallaan. Noudata seuraavia ohjeita:

  1. Napsauta hiiren kakkospainikkeella Tämä tietokone `ja valitse Lisäasetukset ` asetukset vasemmassa ruudussa.
  2. Advanced Valitse Säädä parhaan suorituskyvyn `ja napsauta OK. Valitse sitten
  3. . Käynnistä uudelleen ja tarkista, onko ongelma ratkaistu. Jos tämä yksinkertainen ratkaisu ei toimi, kokeile seuraavaa ratkaisua.
  4. 5] Poista Käynnistys käynnissä olevat ohjelmat

Ongelmanratkaisujen poistaminen käytöstä ainoa tapa päästä eroon muistivuoto-ongelmasta. Siirry Tehtävienhallintaan ja poista häirintäohjelma. Jos et tiedä, mitkä ohjelmat aiheuttavat ongelmia, tee näin:

Siirry kohtaan

Tehtävienhallinta

  1. . Siirry kohtaan Käynnistys
  2. Poista käytöstä käynnistysohjelmat, joita sinun ei tarvitse suorittaa oletuksena. 6] Defrag-kiintolevyasema Vaikka Windows 10 tekee tämän automaattisesti sinulle, sinun täytyy joutua välttämään kiintolevyjä satunnaisesti suorituskyvyn optimoimiseksi:
  3. Siirry

Tietokone

tai

  1. Oma tietokone . Napsauta hiiren kakkospainikkeella järjestelmän kiintolevyä (yleensä C: asema). Siirry kohtaan
  2. Ominaisuudet
  3. `ja valitse` Optimoi `. Valitse taajuusmuuttaja ja valitse` Analysoi `. > Käynnistä tietokone uudelleen uuden pirstoutumisen jälkeen. 7] ClearPage-tiedosto suljetussa tilassa
  4. Se alkaa olla monimutkainen nyt - mutta älä huoli. Syötä tämä polku: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management

Muuta arvoa seuraavalla tavalla:

Kirjoita

regedit

  1. ClearPageFileAtShutDown on `1`. Tallenna muutokset ja Käynnistä laite uudelleen.
  2. Tämän pitäisi tehdä. 9] Poista Superfetch
  3. Tämä Windows-palvelu optimoi suorituskyvyn pienentämällä käynnistysaikaa. Sen avulla Windows hallitsee RAM-käyttöä. Elämä, kun Superfetch ei ole käytössä, ei ole kätevä, mutta tee se, jos tarvitset. Etsi
  4. Superfetch

`ja etsi hiiren kakkospainikkeella sitä.

Valitse "

Pysäytä

  1. `. Myös Poista
  2. " palvelu avattavasta valikosta. Käynnistä tietokone uudelleen ja tarkasta, onko suorituskyky parantunut. Ota Superfetch käyttöön, jos tämä ei toimi. 10] Tarkista haittaohjelmat Käytä kolmannen osapuolen virustentorjuntaohjelmistoa tai Windows 10: n sisäistä Windows Defender -ohjelmaa haittaohjelmien tarkistamiseen ja poistamiseen. Varmista, että virustorjunta päivitetään tukemaan käyttöjärjestelmääsi, jotta se ei päätyisi syyksi muistivuotoa.
  3. Jokainen ratkaisu, johon sinun on ehkä löydettävä tai estettävä muistivuoto, on täällä. Voit lukea lisää muistivuotoista MSDN: ssä ja Microsoftissa.