Hur man hittar och åtgärdar minnesläckor i Windows 10

How Find Fix Memory Leaks Windows 10



Om din Windows 10-dator lider av prestandaproblem kan det bero på en minnesläcka. Så här hittar du och åtgärdar minnesläckor i Windows 10. När du först installerar Windows 10 är det en bra idé att köra systemfilskontrollen. Detta kommer att söka efter och åtgärda eventuella korrupta systemfiler. För att göra detta, öppna kommandotolken och skriv: sfc /scannow När skanningen är klar startar du om din dator. Om du fortfarande ser prestandaproblem är det dags att kontrollera minnesläckor. För att göra detta, öppna Aktivitetshanteraren och gå till fliken Prestanda. Under kolumnen Minne ser du hur mycket minne som används. Om detta antal ständigt ökar är det troligt att du har en minnesläcka. För att åtgärda en minnesläcka måste du identifiera vilket program som orsakar problemet. För att göra detta, gå till fliken Detaljer och kontrollera kolumnen PID. Detta kommer att visa dig PID (process-ID) för varje program som körs. Leta efter programmet med det högsta PID-numret och avsluta den processen. När du har avslutat processen startar du om din dator och kontrollerar om problemet har åtgärdats. Om inte, upprepa processen tills du hittar den skyldige.



TILL Minnesförlust är felallokering av resurser i ett datorprogram på grund av felaktig minnesallokering. Det händer när åkte oanvänt utrymme förblir outsläppt. En minnesläcka ska inte förväxlas med en utrymmesläcka, som hänvisar till ett program som använder mer RAM än det behöver. En minnesläcka på ett Windows 10/8/7-system har rapporterats inträffa när minnet helt enkelt inte är tillgängligt trots att det inte används.





Minnesläckor i Windows 10

Innan du börjar bör du veta att en minnesläcka är ett programvaruproblem som måste felsökas, som i Java, JavaScript, C/C++, Windows etc. Fysiskt byte av RAM eller hårddisk krävs inte.





Minnesläcka i Windows 10



Varför är det illa

Uppenbarligen är en minnesläcka en dålig sak, eftersom det är en bugg, ett fel i systemet. Men låt oss ta reda på exakt hur detta påverkar systemet:

  1. Eftersom minnet inte frigörs även om det inte används, gör det att det töms.
  2. Minnesutmattning resulterar i att programvaran åldras.
  3. Att minska tillgängligt minne resulterar i ökad svarstid och minskad systemprestanda.
  4. En okontrollerad minnesläcka kan så småningom krascha applikationen.

För att upptäcka en minnesläcka behöver programmeraren tillgång till programmets källkod.

Läckagedetektering

För att lösa ett problem måste vi först identifiera det. Grundläggande steg för att upptäcka en minnesläcka:



  1. Bekräftelse : Detektering av läckage.
  2. Hitta en minnesläcka i kärnläge : Sök efter en läcka orsakad av en drivrutinskomponent i kärnläge.
  3. Hitta minnesläckor i användarläge : Detektering av en läcka orsakad av en drivrutins- eller användarlägesapplikation.

Minnesallokering

Det finns olika lägen för tilldelning av RAM per applikation. Om utrymmet inte frigörs efter användning uppstår en minnesläcka oavsett tilldelningsläge. Här är några vanliga distributionsmönster:

  1. HealAlloc-funktion för att allokera minne på högen. C/C++ runtime-ekvivalenterna är malloc och nya.
  2. VirtualAlloc-funktion för direkt tilldelning från operativsystemet.
  3. Kernel32 API:er för lagring av kärnminne för en applikation. Exempel: CreateFile, CreateThread.
  4. API User32 och API Gdi32.

Förebyggande av minnesläckor

Vi vet alla att förebyggande är bättre än att bota, så här är några sätt att förhindra minnesläckor.

Vaneövervakning

Minnesläckor i Windows 10

Windows 10-uppgradering misslyckas och återgår till Windows 7

Du måste se upp för onormal RAM-användning av enskilda program och applikationer. Du kan gå till Windows Task Manager genom att klicka CTRL + SHIFT + ESC och lägg till kolumner som Handles, User Objects, GDI Objects, etc.

Detta hjälper dig att enkelt spåra resursanvändning.

Microsofts verktyg för att diagnostisera minnesläckor

Olika verktyg diagnostiserar minnesläckor för olika allokeringslägen:

  1. Application Verifier diagnostiserar högläckor.
  2. UMDH (en komponent i Windows Debugging Tools) diagnostiserar läckor per process genom att övervaka heap-allokeringar.
  3. Trace Capture för en grundlig analys av RAM-användning.
  4. Xperf håller också reda på heap-allokeringsmönster.
  5. CRT Debug Heap håller inte bara reda på heap-allokering, utan låter dig också tillämpa kodningstekniker för att minimera läckor.
  6. JavaScript-minnesläckagedetektorn felsöker minnesläckor i koder.

Användningstips

  1. Använd Kernel STÅ UT MED s och andra smarta pekare för Win32-resurser och heap-tilldelningar.
  2. Få klasser för automatisk resurshantering för kärnallokering från ATL-biblioteket. C++-standarden har auto_ptr för högtilldelning.
  3. Kapsla in COM-gränssnittspekare i 'smarta pekare' med _com_ptr_t eller _bstr_t eller _variant_t .
  4. Övervaka .NET-kod för onormal minnesanvändning.
  5. Undvik flera utgångsvägar för funktioner för att tillåta att variabeltilldelningar i de flesta block frigörs vid slutet av funktionen.
  6. Använd anpassade undantag endast efter att alla tilldelningar i _finally-blocket har frigjorts. Slå in hela högen och behandla tilldelningar i smarta pekare för att använda C++-undantag.
  7. Ring alltid PropVariantClear innan du återinitierar eller tar bort PROPVARIANT-objektet.

Åtgärda minnesläckor i Windows

Precis som olika sätt att förhindra minnesläckor, finns det olika sätt att förhindra minnesläckor. Men innan du börjar, glöm inte skapa först en systemåterställningspunkt .

1] Stäng processer och starta om.

Om du ser en onödig process som tar upp för mycket RAM-minne kan du avsluta processen i Aktivitetshanteraren. Du måste starta om enheten så att det frigjorda utrymmet är tillgängligt för användning av andra processer. Utan en omstart kommer problemet med minnesläckage inte att lösas. En speciell process som har buggar som saktar ner datorn är Runtime Broker. Försök att se om det bara fungerar att inaktivera detta.

2] Diagnostiska verktyg för minne

Windows minnesdiagnostik

disk okänd ej initialiserad

För att komma åt den inbyggda Diagnostiskt verktyg för minne för Windows:

  1. Spara allt ditt viktiga arbete.
  2. Klick Win + R öppen springa fönster.
  3. Ange kommando mdsched.exe I springa fönster.
  4. Starta om din dator.
  5. Efter omstart, utför en grundläggande skanning eller välj ' Avancerad 'Alternativ som' Testblandning ' eller ' Antal pass '.
  6. Klick F10 för att starta testet.

Detta är tillfälliga korrigeringar för tillfället.

3] Sök efter drivrutinsuppdateringar

Uppdatering av drivrutinen

Föråldrade drivrutiner orsakar minnesläckor. Uppdatera alla drivrutiner :

  1. Klick Win + R och öppna springa fönster. Typ devmgmt.msc och tryck på Enter. Detta tar dig till Enhetshanteraren .
  2. Sök efter föråldrade drivrutiner och uppdatera dem alla.
  3. För uppdateringar som du kanske har missat, kolla in Windows Update.

Det var enkelt.

4] Prestandaoptimering

Justera för bästa prestanda

Windows prestandajustering kommer att hantera allt inklusive cpu-schemaläggning och minnesanvändning för att förhindra minnesläckor. Följ dessa steg:

  1. Högerklicka ' Denna PC »och välj« Avancerad 'På den vänstra panelen.
  2. Under ' Avancerad På fliken ' Uppträdandet
Populära Inlägg