memória

A memóriaszivárgások megkeresése és javítása a Windows 10 rendszerben

A memóriaszivárgások megkeresése és javítása a Windows 10 rendszerben

A Memóriaszivárgás a számítógépes program erőforrásainak helytelen elhelyezése a hibás memóriaallokáció miatt. Akkor fordul elő, amikor a nem használt RAM-hely kiadatlan marad. A memóriaszivárgás nem tévesztendő össze egy űrszivárgással, amely a szükségesnél több RAM-ot használó programra utal. Állítólag memóriaszivárgás történt a Windows 10/8/7 rendszeren, amikor a memória éppen nem érhető el annak ellenére, hogy nincs használatban.

Memóriaszivárgás a Windows 10 rendszerben

Mielőtt elkezdené, tudnia kell, hogy a Memória szivárgás szoftverhiba a hibakereséshez - például Java, JavaScript, C / C ++, Windows stb. A RAM vagy a merevlemez fizikai cseréje nem szükséges.

Miért rossz

Nyilvánvaló, hogy a memóriaszivárgás azért rossz, mert hiba, hiba a rendszerben. De derítsük ki, hogy pontosan hogyan hat a rendszerre:

  1. Mivel a memória még akkor sem szabadul fel, ha nem használják, memória kimerülését eredményezi.
  2. A memória kimerülése a szoftver elöregedését eredményezi.
  3. A rendelkezésre álló memória csökkenése a válaszidő megnöveléséhez és a rendszer gyenge teljesítményéhez vezet.
  4. Az ellenőrizetlen memóriaszivárgás végül egy alkalmazás összeomlásához vezethet.

A memóriaszivárgás azonosításához a programozónak hozzáférést kell biztosítania a program forráskódjához.

A szivárgás helyének meghatározása

A probléma megoldásához először azt kell azonosítanunk. A memóriaszivárgás felkutatásának alapvető lépései a következők:

  1. Megerősítés: Annak megállapítása, hogy történt-e szivárgás.
  2. Kernel módú memóriaszivárgás keresése: A rendszermag módú illesztőprogram-összetevő által okozott szivárgás felderítése.
  3. Felhasználói módú memóriaszivárgás megtalálása: Felhasználói módú illesztőprogram vagy alkalmazás által okozott szivárgás felkutatása.

Memória kiosztás

Különböző módok vannak, amelyekben az alkalmazások lefoglalják a RAM-ot. Ha a használat után nem szabadul fel a hely, a memória szivárgása bekövetkezik, függetlenül a felosztás módjától. Néhány általános kiosztási minta:

  1. HealAlloc függvény a halom memória lefoglalásához. A C / C ++ futásidejű ekvivalensek malloc és újszerűek.
  2. VirtualAlloc függvény az operációs rendszer közvetlen kiosztásához.
  3. Kernel32 API-k az alkalmazás kernelmemóriájának tárolására. Példa: 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 íme néhány módszer a memória szivárgásának megakadályozására.

Monitorozási szokások

Figyelnie kell az egyedi programok és alkalmazások rendellenes RAM-használatát. A Windows gomb megnyomásával léphet a Windows Feladatkezelőbe CTRL + SHIFT + ESC és adja hozzá az oszlopokat, mint a fogantyúk, a felhasználói objektumok, a GDI objektumok stb.

Ez segít az erőforrások használatának egyszerű nyomon követésében.

Olvas: Milyen típusú memória van a számítógépen?

Microsoft eszközök a memóriaszivárgások diagnosztizálására

Különböző eszközök diagnosztizálják a memóriaszivárgást a különféle allokációs módoknál:

  1. Az Application Verifier diagnosztizálja a halomszivárgásokat.
  2. Az UMDH (a Windows hibakeresési eszközök egyik összetevője) a halom memória-allokációk figyelemmel kísérésével diagnosztizálja az egyes folyamatok szivárgását.
  3. Trace Capture a RAM használatának alapos elemzéséhez.
  4. Az Xperf is követi a halomallokációs mintákat.
  5. A CRT Debug Heap nemcsak a halomallokációkat követi nyomon, hanem kódolási gyakorlatokat is lehetővé tesz a szivárgások minimalizálása érdekében.
  6. A JavaScript memóriaszivárgás-érzékelő hibakereséssel tárolja a memóriaszivárgásokat a kódokban.

Használati tippek

  1. Használd a kernelt FOGANTYÚs és más intelligens mutatók a Win32 erőforrásokhoz és a halomallokációkhoz.
  2. Szerezzen be osztályokat az automatikus erőforrás-kezeléshez a kernel-kiosztásokhoz az ATL könyvtárból. A C ++ szabvány rendelkezik auto_ptr kupacok kiosztására.
  3. A COM interfész mutatóit az „intelligens mutatók” közé tömöríti a _com_ptr_t vagy _bstr_t vagy _változó_t.
  4. Figyelje a .NET kód a rendellenes memóriahasználathoz.
  5. Kerülje a függvények többszörös kilépési útvonalát, hogy a legtöbb blokkban a függvény végére a lefoglalások felszabaduljanak a változóktól.
  6. A natív kivételeket csak a _finally blokk összes kiosztásának felszabadítása után használja. Csomagolja az összes halmot és kezelje az allokációkat intelligens mutatókba a C ++ kivételek használatához.
  7. Mindig hívja a PropVariantClear funkciót, mielőtt újratelepítené vagy elvetné a PROPVARIANT objektumot.

A memóriaszivárgások hibaelhárítása a Windows rendszerben

A memóriaszivárgások megelőzésének különböző módjaihoz hasonlóan a memóriaszivárgások megállításának számos módja létezik. De mielőtt elkezdené, ne felejtsen el először létrehozni egy rendszer-visszaállítási pontot.

1] Zárja be a folyamatokat és indítsa újra.

Ha úgy látja, hogy egy felesleges folyamat túl sok RAM-ot foglal el, a folyamatot a Feladatkezelőben fejezheti be. Újra kell indítania az eszközt, hogy a felszabadított terület rendelkezésre álljon más folyamatok számára. Újraindítás nélkül a memóriaszivárgás nem oldódik meg. Az egyik olyan folyamat, amely hibákat tartalmaz a számítógép lelassítására, a Runtime Broker. Próbáld meg, hogy csak ennek letiltása működik-e.

2] Memória diagnosztikai eszközök

A Windows beépített memória-diagnosztikai eszközének elérése:

  1. Mentsen meg minden fontos munkát.
  2. nyomja meg Win + R hogy kinyissa a Fuss ablak.
  3. Írja be a parancsot mdsched.alkalmazás ban,-ben Fuss ablak.
  4. Indítsa újra a számítógépet.
  5. Újraindítás után hajtsa végre az alapellenőrzést, vagy menjen a 'Fejlett"opciók, mint"TesztmixvagyBérlések száma".
  6. nyomja meg F10 hogy elkezdje a tesztet.

Ezek továbbra is ideiglenes javítások.

3] Ellenőrizze az illesztőprogram frissítéseit

Az elavult illesztőprogramok memóriaszivárgást okoznak. Tartsa naprakészen az összes illesztőprogramot:

  1. nyomja meg Win + R és nyissa meg a Fuss ablak. típus devmgmt.msc és nyomja meg az Enter billentyűt. Elviszi a Eszközkezelő.
  2. Ellenőrizze az elavult illesztőprogramokat, és frissítse őket.
  3. Ha frissítéseket szeretne lemaradni, ellenőrizze a Windows Update webhelyet.

Ez egyszerű volt.

4] Optimalizálja a teljesítményt

A Windows teljesítményének igazításával mindent kezelhet, beleértve a processzor ütemezését és a memóriahasználatot a memóriaszivárgások megakadályozására. Kovesd ezeket a lepeseket:

  1. Kattintson a jobb gombbal a 'gombraEz a PC'és válassza ki'Fejlett'beállításokat a bal oldali ablaktáblán.
  2. Alatt 'Fejlett'fül, menjen ide'Teljesítmény", majd a"Beállítások".
  3. Jelölje be 'Állítsa be a legjobb teljesítmény érdekébenés kattintson rendben.
  4. Indítsa újra és ellenőrizze, hogy a probléma megoldódott-e.

Ha ez az egyszerű megoldás nem működött, próbálkozzon a következő megoldással.

5] Tiltsa le az indításkor futó programokat

A problémás programok letiltása az egyetlen módja a memóriaszivárgás megszabadulásának. Nyissa meg a Feladatkezelőt, és tiltsa le a problémamegoldó programot. Ha nem tudja, mely programok okozzák a problémát, tegye ezt:

  1. Menj 'Feladatkezelő".
  2. Menj 'üzembe helyezés".
  3. Tiltsa le azokat az indító programokat, amelyeket alapértelmezés szerint nem kell futtatnia.

6] Defrag merevlemez

Bár a Windows 10 ezt automatikusan elvégzi az Ön számára, előfordulhat, hogy a teljesítmény optimalizálása érdekében időnként meg kell tennie a merevlemezek töredezettségmentesítését:

  1. Menj 'Ez a PCvagyA számítógépem".
  2. Kattintson a jobb gombbal a rendszer merevlemezére (általában C: meghajtóra).
  3. Menj 'Eszközök„alatt”Tulajdonságok'és válassza ki'Optimalizálás".
  4. Válassza ki a töredezettségmeghajtót és válassza a 'Elemezze".

Indítsa újra a számítógépet az új töredezettség után.

7] ClearPage fájl leállításkor

Most már egyre bonyolultabb - de ne aggódjon. A következőképpen törölheti az Oldalfájlt minden leállításkor:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management

Ennek meg kellene tennie. Ne feledje, hogy a leállítási folyamat egy kicsit több időt vesz igénybe.

9] A Superfetch letiltása

Ez a Windows szolgáltatás optimalizálja a teljesítményt azáltal, hogy minimalizálja a rendszerindítási időt. Ez lehetővé teszi a Windows számára a RAM használatának kezelését. A Superfetch letiltása utáni élet nem kényelmes, de tegye meg, ha szükséges. Legalább egyedül próbálkozzon a probléma elkülönítésével:

  1. Keresés szolgáltatások.msc és lépjen a Szolgáltatáskezelőhöz.
  2. Keres 'Superfetch"és a jobb egérgombbal kattintson a továbblépéshez"Tulajdonságok".
  3. KiválasztásÁlljon meg".
  4. Is 'Letiltás'a legördülő menüből.
  5. Indítsa újra a számítógépet, és ellenőrizze, hogy javult-e a teljesítmény.

Engedélyezze a Superfetch alkalmazást, ha ez nem működött.

10] Ellenőrizze a rosszindulatú programokat

Használjon harmadik féltől származó víruskereső szoftvert vagy a Windows 10 házon belüli Windows Defender-jét a rosszindulatú programok átkutatásához és megszüntetéséhez. Győződjön meg arról, hogy az antivírus frissítve van-e az operációs rendszer támogatásához, hogy végül ne váljon a memóriaszivárgás okává.

Minden megoldás, amire valaha szüksége lehet a memóriaszivárgások megtalálásához vagy megelőzéséhez, itt van. Az MSDN és a Microsoft memóriaszivárgásáról bővebben olvashat.

Az AutoKey használata a Linux játékok automatizálásához
Az AutoKey egy asztali automatizáló segédprogram Linux és X11 rendszerekhez, Python 3, GTK és Qt programozással. A parancsfájlok és a MACRO funkcióina...
Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...