Sådan finder og reparerer du hukommelseslækager i Windows 10

How Find Fix Memory Leaks Windows 10



Hvis din Windows 10-pc lider af ydeevneproblemer, kan det skyldes en hukommelseslækage. Sådan finder og reparerer du hukommelseslækager i Windows 10. Når du først installerer Windows 10, er det en god idé at køre System File Checker. Dette vil søge efter og rette eventuelle korrupte systemfiler. For at gøre dette skal du åbne kommandoprompten og skrive: sfc /scannow Når scanningen er fuldført, genstart din pc. Hvis du stadig oplever problemer med ydeevnen, er det tid til at tjekke for hukommelseslækager. For at gøre dette skal du åbne Task Manager og gå til fanen Ydelse. Under kolonnen Hukommelse kan du se, hvor meget hukommelse der bliver brugt. Hvis dette tal er konstant stigende, er det sandsynligt, at du har en hukommelseslækage. For at rette en hukommelseslækage skal du identificere, hvilket program der forårsager problemet. For at gøre dette skal du gå til fanen Detaljer og kontrollere PID-kolonnen. Dette vil vise dig PID (proces ID) for hvert kørende program. Se efter programmet med det højeste PID-nummer og afslut den proces. Når du har afsluttet processen, skal du genstarte din pc og kontrollere, om problemet er løst. Hvis ikke, gentag processen, indtil du finder den skyldige.



TIL Hukommelsestab er fejlallokering af ressourcer i et computerprogram på grund af forkert hukommelsesallokering. Det sker når gik ubrugt plads forbliver ufrigivet. En hukommelseslækage skal ikke forveksles med en pladslæk, som henviser til et program, der bruger mere RAM, end det har brug for. En hukommelseslækage på et Windows 10/8/7-system er blevet rapporteret at opstå, når hukommelsen simpelthen ikke er tilgængelig, selvom den ikke bliver brugt.





Hukommelseslækager i Windows 10

Før du starter, bør du vide, at en hukommelseslækage er et softwareproblem, der skal fejlfindes, såsom i Java, JavaScript, C/C++, Windows osv. Fysisk udskiftning af RAM eller harddisk er ikke påkrævet.





Hukommelseslækage i Windows 10



Hvorfor er det slemt

Det er klart, at en hukommelseslækage er en dårlig ting, fordi det er en fejl, en fejl i systemet. Men lad os finde ud af præcis, hvordan dette påvirker systemet:

  1. Da hukommelsen ikke frigives, selvom den ikke bliver brugt, får den den til at blive opbrugt.
  2. Hukommelsesudmattelse resulterer i ældning af software.
  3. Reduktion af tilgængelig hukommelse resulterer i øget responstid og reduceret systemydelse.
  4. En ukontrolleret hukommelseslækage kan i sidste ende nedbryde applikationen.

For at detektere en hukommelseslækage skal programmøren have adgang til programmets kildekode.

Lækagedetektion

For at løse et problem skal vi først identificere det. Grundlæggende trin til at opdage en hukommelseslækage:



  1. Bekræftelse : Påvisning af en lækage.
  2. Find en hukommelseslækage i kernetilstand : Søg efter en lækage forårsaget af en driver-komponent i kernetilstand.
  3. Finder hukommelseslækager i brugertilstand : Registrering af en lækage forårsaget af en driver- eller brugertilstandsapplikation.

Hukommelsestildeling

Der er forskellige former for tildeling af RAM efter applikationer. Hvis pladsen ikke frigøres efter brug, vil der opstå en hukommelseslækage uanset allokeringstilstanden. Her er nogle almindelige distributionsmønstre:

  1. HealAlloc funktion til at allokere hukommelse på heapen. C/C++ runtime-ækvivalenterne er malloc og nye.
  2. VirtualAlloc funktion til direkte allokering fra OS.
  3. Kernel32 API'er til lagring af kernehukommelse til en applikation. Eksempel: CreateFile, CreateThread.
  4. API User32 og API Gdi32.

Forebyggelse af hukommelseslækage

Vi ved alle, at forebyggelse er bedre end helbredelse, så her er et par måder at forhindre hukommelseslækager på.

Vaneovervågning

Hukommelseslækager i Windows 10

Windows 10-opgradering mislykkes og vender tilbage til Windows 7

Du skal passe på unormalt RAM-forbrug af individuelle programmer og applikationer. Du kan gå til Windows Task Manager ved at klikke CTRL + SHIFT + ESC og tilføje kolonner som håndtag, brugerobjekter, GDI-objekter osv.

Dette vil hjælpe dig med nemt at spore ressourceforbrug.

Microsoft-værktøjer til diagnosticering af hukommelseslækager

Forskellige værktøjer diagnosticerer hukommelseslækager for forskellige allokeringstilstande:

  1. Application Verifier diagnosticerer heap-lækager.
  2. UMDH (en komponent i Windows Debugging Tools) diagnosticerer lækager pr. proces ved at overvåge heap-allokeringer.
  3. Trace Capture til en grundig analyse af RAM-forbrug.
  4. Xperf holder også styr på heap-allokeringsmønstre.
  5. CRT Debug Heap holder ikke kun styr på heap-allokering, men giver dig også mulighed for at anvende kodningsteknikker for at minimere lækager.
  6. JavaScript-hukommelseslækagedetektoren debugger hukommelseslækager i koder.

Brugstips

  1. Brug Kernel KÅR MED s og andre smarte pointer til Win32-ressourcer og heap-allokeringer.
  2. Få klasser til automatisk ressourcestyring til kerneallokering fra ATL-biblioteket. C++-standarden har auto_ptr til bunketildeling.
  3. Indkapsl COM interface pointere i 'smart pointers' med _com_ptr_t eller _bstr_t eller _variant_t .
  4. Overvåg .NET-kode for unormalt hukommelsesforbrug.
  5. Undgå flere udgangsstier for funktioner for at tillade, at variable allokeringer i de fleste blokke frigives ved slutningen af ​​funktionen.
  6. Brug kun tilpassede undtagelser, når alle tildelinger i blokken _finally er blevet frigivet. Pak hele bunken, og behandl allokeringer i smarte pointers for at bruge C++ undtagelser.
  7. Ring altid PropVariantClear før geninitialisering eller sletning af PROPVARIANT-objektet.

Ret hukommelseslækager i Windows

Ligesom forskellige måder at forhindre hukommelseslækager på, er der forskellige måder at forhindre hukommelseslækager på. Men før du starter, så glem det ikke først oprette et systemgendannelsespunkt .

1] Luk processer og genstart.

Hvis du ser en unødvendig proces, der optager for meget RAM, kan du afslutte processen i Task Manager. Du bliver nødt til at genstarte enheden, så den frigjorte plads er tilgængelig til brug for andre processer. Uden en genstart vil problemet med hukommelseslækage ikke blive løst. En særlig proces, der har fejl, der gør pc'en langsommere, er Runtime Broker. Prøv at se, om bare at deaktivere dette virker.

2] Hukommelsesdiagnoseværktøjer

Windows Hukommelsesdiagnostik

disk ukendt ikke initialiseret

For at få adgang til den indbyggede Hukommelsesdiagnoseværktøj Til Windows:

  1. Gem alt dit vigtige arbejde.
  2. Klik Win + R åben løb vindue.
  3. Indtast kommando mdsched.exe I løb vindue.
  4. Genstart din computer.
  5. Efter genstart skal du udføre en grundlæggende scanning eller vælge ' Fremskreden 'Valgmuligheder som' Testblanding ' eller ' Antal afleveringer '.
  6. Klik F10 for at starte testen.

Disse er midlertidige rettelser indtil videre.

3] Se efter driveropdateringer

Driver software opdatering

Forældede drivere forårsager hukommelseslækager. Opdater alle drivere :

  1. Klik Win + R og åben løb vindue. Type devmgmt.msc og tryk på Enter. Dette vil tage dig til Enhedshåndtering .
  2. Se efter forældede drivere og opdater dem alle.
  3. For opdateringer, du måske er gået glip af, skal du tjekke Windows Update.

Det var nemt.

4] Optimering af ydeevne

Juster for den bedste ydeevne

Windows Performance Tuning vil administrere alt inklusive cpu-planlægning og hukommelsesbrug for at forhindre hukommelseslækager. Følg disse trin:

  1. Højreklik ' Denne pc »og vælg« Fremskreden 'På venstre panel.
  2. Under ' Fremskreden På fanen ' Præstationen
Populære Indlæg