Wyciek pamięci niestronicowanej w Windows 8 i 8.1 – procedura naprawy


Ostatnio objawił się problem w systemie Windows 8 i Windows 8.1. Problem objawia się tym, że w komputerze jest coraz mniej pamięci, a potem następuje zawieszenie komputera i wysyłanie raportu do bazy (tj. do Microsoftu). Jest to standardowy wyciek pamięci.

Otwierając Manager Zadań (Task Manager) na komputerze, na którym występuje ten problem, zobaczymy ogromną ilość zablokowanej pamięci niestronicowanej (non -paged pool).  Normalnie Non-paged pool zajmuje do 1GB, a tutaj będziemy mieć 4GB, 7GB albo nawet 15GB, jeśli nasz komputer ma 16GB RAM. Wartość tego wskaźnika z czasem rośnie – co kilka minut będziemy widzieć, że występuje przyrost, który potem kończy się wyswapowaniem wszystkich procesów na dysk twardy, zajęciem resztki RAMu i „zwisem” (thank you, Microsoft!).

Problem z pamięcią niestronicowaną

Jeśli masz powyżej opisany problem, wystarczy zmienić jeden wpis w rejestrze komputera:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ndu]

Zmieniamy

 
"Start"=dword:00000002

na

"Start"=dword:00000004 

Następnie należy zrestartować komputer. Po restarcie „Non-paged memory” nie powinien już przyrastać.
Problem widziałem zarówno w Windows 8, jak i Windows 8.1.
Na Internetach piszą, że ten problem jest związany z kartą Realtek, ale to nieprawda – u mnie nie było Realteka, ale trick zadziałał, na dwóch różnych komputerach (czyżby bomba czasowa:)

Po restarcie komputera na dysku komputera mamy ogromnego „swapa” Microsoft jednak nie zmniejsza rozmiaru swapa przy restarcie systemu i możemy mieć problemy z zajętością dysku twardego, pomimo że wiele GB swapa nie jest już potrzebne. Trzeba przeprowadzić czyszczenie pliku wymiany.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *