Hivatal

Memóriaveszteségek keresése és javítása Windows 10/8/7

Week 5

Week 5

Tartalomjegyzék:

Anonim

A A memória leak hibás memóriaelosztás miatt erőforrás helytelen elhelyezését jelenti egy számítógépes programban. Ez akkor történik, ha egy nem használt RAM hely megmarad. A memória szivárgást nem szabad összetéveszteni egy űrszivárgással, ami egy olyan programra utal, amelynél több RAM szükséges, mint a szükséges. A Windows 10/8/7-es rendszerben a memória szivárgásról azt mondják, hogy történt, amikor a memória nem érhető el, annak ellenére, hogy nincs használatban.

Memóriazavarok Windows 10 alatt

Mielőtt elkezdené, tudnia kell, hogy A memória szivárgás hibakeresési szoftveres probléma - például Java, JavaScript, C / C ++, Windows, stb. A RAM vagy a merevlemez fizikai helyettesítése nem szükséges.

Miért rossz?

a szivárgás rossz, mert hiba, hiba a rendszerben. Ám derítsük ki, hogy pontosan milyen hatással van a rendszerre:

  1. Mivel a memória még akkor sem szabadul fel, ha nincs használatban, ez a memória kimerülését eredményezi
  2. A memória kimerülése a szoftver öregedésében
  3. A nem ellenőrzött memóriaszivárgás végül egy alkalmazás összeomlásához vezethet

A memóriazár beazonosítása érdekében a programozónak hozzáférést kell biztosítania a forráskódhoz. a program

A szivárgás megállapítása

A probléma megoldásához először meg kell határozni. A memória szivárgás megtalálásának alapvető lépései:

  1. Megerősítés : Szivárgás megállapítása
  2. Kernel módú memória szivárgás keresése : A rendszermag-módú illesztőprogram okozta szivárgás megállapítása.
  3. A felhasználói módú memória szivárgásának megállapítása : A felhasználói módú illesztőprogram vagy alkalmazás által okozott szivárgás megállapítása

Memóriaelosztás

Az alkalmazások különböző módokat kínálnak az alkalmazások számára. Ha a helyet használat után nem szabadítják fel, a memória szivárgás az elosztás módjától függetlenül megy végbe. Néhány közös elosztási mintázat:

  1. HealAlloc funkció a heap memóriaelosztáshoz. A C / C ++ futásidejű ekvivalensek malloc és újabbak.
  2. VirtualAlloc függvény az OS-hez való közvetlen hozzárendeléshez.
  3. Kernel32 API-k, amelyek a kernel memóriát tartják az alkalmazás számára. Például CreateFile, CreateThread
  4. User32 API-k és Gdi32 API-k

A memória szivárgásának megakadályozása

Mindannyian tudjuk, hogy a megelőzés jobb, mint a gyógyítás, ezért itt van néhány módja annak, hogy megelőzzük a memória szivárgását. > Figyelnie kell az egyedi programok és alkalmazások rendellenes RAM használatára. A

CTRL + SHIFT + ESC

megnyomásával léphet a Windows Feladatkezelőbe, és hozzáadhatja az olyan oszlopokat, mint a Fogantyúk, a Felhasználói objektumok, a GDI-objektumok stb. A Microsoft szerszámok a memória szivárgás diagnosztizálásához Különféle eszközök diagnosztizálják a memória szivárgást különböző kiosztási módok esetén:

Alkalmazásellenőrző diagnosztizálja a heap szivárgásokat

Az UMDH (a Windows hibakereső eszközök egyik eleme)

Trace Capture a RAM-használat alapos elemzéséhez

  1. Az Xperf is nyomon követi a halomelosztási mintákat.
  2. A CRT Debug Heap nemcsak a heap-allokációkat követi, hanem a kódolási gyakorlatokat is minimálisra csökkenti
  3. JavaScript Memory Leak
  4. Használja a
  5. kernelt
  6. HANDLE

s és más intelligens mutatókat a Win32 erőforrásokhoz és a heapkiosztásokhoz.

  1. Osztályok automatikus erőforrás-menedzsmenthez a kernel-allokációkhoz az ATL könyvtár. A C ++ szabvány auto_ptr a heapkiosztásokhoz
  2. A COM interfészmutatókat a _com_ptr_t vagy
  3. _bstr_t vagy _variant_t . A.NET kód figyelése abnormális memóriahasználat esetén Kerülje el a több kimeneti útvonalat a függvények számára, hogy a függvények végén a legtöbb blokkban szabadon engedjen ki allokációkat a változókból. Csak natív kivételeket használjon miután felszabadította az összes összeget a _finally blokkban. Csomagolja be az összes kupacot, és kezelje a leképezést intelligens mutatókkal a C ++ kivételek használatához.
  4. Mindig hívja a
  5. PropVariantClear
  6. funkciót PROPVARIANT objektum újbóli inicializálása vagy eldobása előtt.
  7. A memória szivárgásának hibaelhárítása Windows alatt A memória szivárgásának megakadályozásához különböző módok vannak a memória szivárgásának megakadályozására. 1] Zárja be a folyamatokat és indítsa újra.

Ha látja, hogy egy felesleges folyamat túl sok RAM-ot igényel, akkor befejezheti a folyamatot a Feladatkezelőben. Újra kell indítani az eszközt, hogy a szabad hely rendelkezésre álljon más folyamatok számára. Újraindítás nélkül a memóriaszivárgás problémája nem fog megoldódni. Az egyik olyan folyamat, amely a PC-k lelassítására szolgáló hibákat jelent, a Runtime Broker.

2] Memóriadiagnosztikai eszközök

A Windows beépített memóriadiagnosztikai eszközeinek elérése:

Minden fontos munka mentése

Nyomja meg a

Win + R

  1. a
  2. futtatás ablakban
  3. Tesztcsomag vagy Pass szám ` Nyomja meg a gombot a F10
  4. a teszt elindításához Ezek még mindig ideiglenes javítások. 3] Ellenőrizze a illesztőprogram frissítéseit

Az elavult illesztőprogramok memóriaszivárgást okoznak. Az összes illesztőprogram frissítése:

Nyomja meg a

Win + R

  1. gombot, és nyissa meg a Futtatás ablakot. Írja be a devmgmt.msc parancsot, majd nyomja meg az Enter billentyűt. Átveszi a Eszközkezelőt . Ellenőrizze az elavult illesztőprogramokat, és frissítse mindet. Lehetséges, hogy a frissítések hiányoztak, ellenőrizze a Windows Update programot.
  2. Ez egyszerű volt.
  3. 4] A teljesítmény optimalizálása

A Windows teljesítményének beállítása mindent, beleértve a processzor ütemezését és a memóriahasználatot is, a memória szivárgásának megállítása érdekében kezeli. Kövesse az alábbi lépéseket:

Kattintson a jobb gombbal a

Ez a számítógép

  1. `és válassza a` Speciális `beállításokat a bal oldali ablaktáblánCheck `
  2. A legjobb teljesítmény érdekében ` és kattintson a OK gombra. . Indítsa újra és ellenőrizze, hogy a probléma megoldódott-e. Ha ez az egyszerű megoldás nem működik, próbálkozzon a következő megoldással. 5] Letiltja az Indításkor futó programokat
  3. A problémás programok letiltása az egyetlen módja annak, hogy megszabaduljon a memória szivárgás kérdésétől. Menjen a Feladatkezelőhöz, és kapcsolja ki a bajlódási programot. Ha nem tudja, melyik program okozza a hibát, tegye a következőket: Ugrás

Startup

6] Defrag Hard Drive

  1. Bár a Windows 10 ezt automatikusan elvégzi, előfordulhat, hogy a merevlemezeket időnként defragmentálnia kell a teljesítmény optimalizálásához:`vagy`
  2. Sajátgép ` Jobb egérgombbal kattintson a rendszer merevlemezére (általában C: meghajtó)
  3. Ugrás

`

  1. ` `` ``
  2. `
  3. ` `` optimalizálása Válassza ki a meghajtót defragmentálni és válassza a Elemzés > Indítsa újra a számítógépet az új szétdarabolódás után. 7] ClearPage fájl leállításkor
  4. Most már bonyolult - de ne aggódj. Írja be ezt az elérési utat: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management

Változtassa meg a beállítások értékét a

  1. ClearPageFileAtShutDown az "1" -re. A módosítások mentése és az eszköz újraindítása Ezt meg kell tennie.
  2. 9] Tiltsa le a Superfetch Ezzel a Windows szolgáltatással optimalizálja a teljesítményt. Ez lehetővé teszi a Windows számára a RAM használatát. Az élet a Superfetch kikapcsolása után nem megfelelő, de tegye meg, ha szükséges.
  3. Keresés services.msc
  4. és menjen a Services Managerbe.

Keresse meg a

Superfetch

elemet, és kattintson rá a jobb egérgombbal

  1. Válassza ki a
  2. Tiltsa
  3. "szolgáltatást a legördülő menüből. Indítsa újra a számítógépet és ellenőrizze, hogy javult-e a teljesítmény. Engedélyezze a Superfetch-et, ha ez nem működik
  4. 10] Ellenőrizze a rosszindulatú programokat Használjon harmadik féltől származó víruskereső programot vagy a Windows 10 házon belüli Windows Defender programját a rosszindulatú programok beolvasásához és kiküszöböléséhez. Győződjön meg róla, hogy a víruskereső frissítve támogatja az operációs rendszert, nehogy a memória szivárgásának oka legyen. Minden olyan megoldás, amelyre szükséged lehet a memória szivárgásának megtalálására vagy megelőzésére, itt van. Az MSDN-ről és a Microsoftról többet olvashat a memóriaszivárgásokról.