Zašto u Windows-u raste bazen memorije bez stranica

U nekim slučajevima Windows računala i poslužitelji mogu imati problema s nedostatkom slobodne memorije uzrokovanim curenjem nekog pokretačkog sustava koji pohranjuje svoje podatke u neplanirani sistemski memorijski bazen.. Memorijski bazen koji nije napunjen stranicama (Memorija bez zaslona) podaci su u računalnoj RAM-u koji koriste kernel i upravljački programi operativnog sustava, a koji se nikada ne učitavaju na disk (u datoteku swap / swap), tj. uvijek u fizičkom pamćenju.

Trenutna veličina nestraničnog memorijskog bazena može se vidjeti u upravitelju zadataka na kartici Perfomance (produktivnost) u memoriji (Sjećanje). Sljedeća slika zaslona pokazuje da je gotovo sva memorija na poslužitelju zauzeta, a najveći dio pripada ne-pageniranom bazenu od 4,2 GB (Non-paged pool / Non-paged pool). U normalnom stanju veličina neplaniranog bazena rijetko prelazi 200-400 MB. To obično ukazuje na propuštanje memorije u nekoj komponenti sustava ili upravljačkom programu..

PO

S takvim iscrpljivanjem memorije na poslužitelju, poruke obrasca mogu se pojaviti u dnevniku događaja:

Poslužitelj nije uspio dodijeliti iz sustava Non-Paged pool jer je bazen bio prazan

U velikoj većini slučajeva, razlog opisanog propuštanja memorije je problem s upravljačkim programima treće strane koji su instalirani u sustavu. U pravilu su to mrežni pokretači. Obratite pažnju na to kako se bazen ponaša prilikom preuzimanja velikih datoteka (najvjerojatnije će brzo narasti do 128 GB ili 75% fizičke memorije na x64 sustavima). Samo ponovno pokretanje pomaže u čišćenju bazena, a ako to i dalje može biti prihvatljivo za kućno računalo, poželjno je naći normalno rješenje na non-stop poslužitelju.

sadržaj:

  • Instalirajte najnovije upravljačke programe za mrežne adaptere
  • Onemogućavanje pokretačkog programa za praćenje aktivnosti Windows mreže
  • Onemogućavanje uloge Hyper-V
  • Koristimo uslužni program Poolmon da bismo pronašli pokretač koji je uzrokovao curenje memorije.

Instalirajte najnovije upravljačke programe za mrežne adaptere

Pokušajte s web stranice proizvođača preuzeti i instalirati najnovije upravljačke programe za vaše mrežne adaptere.

Ako imate omogućeno automatsko ažuriranje upravljačkog programa, provjerite da se problemi nisu pokrenuli nakon instaliranja novih upravljačkih programa. Pokušajte prebaciti upravljačku verziju na stariju verziju i provjeriti ponavlja li se problem. Ako je problem riješen, isključite upravljačke programe za automatsko ažuriranje.

Onemogućavanje pokretačkog programa za praćenje aktivnosti Windows mreže

Često dolazi do propuštanja memorije u bazenu koji nije straničan zbog uzroka nespojivosti upravljačkog programa Network Data Usage (NDU) s upravljačkim programima mrežnog adaptera. Ova se usluga može onemogućiti bez velikog gubitka funkcionalnosti sustava Windows.

Usluga se može zaustaviti naredbom:

sc config NDU start = onemogućen

Ili putem registra

  1. Otvorite uređivač registra regedit.eXE
  2. Idi do podružnice HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Ndu \
  3. Promijenite vrijednosti parametar početak u 4.

Nakon izmjena trebate ponovo pokrenuti svoje računalo

Onemogućavanje uloge Hyper-V

U nekim slučajevima instalirana uloga Hyper-V izaziva curenje memorije u neparirani bazen. U slučaju da nije potreban, preporučujemo da ga isključite.

Koristimo uslužni program Poolmon da bismo pronašli pokretač koji je uzrokovao curenje memorije.

U slučaju da gore opisane metode nisu pomogle, možete pokušati otkriti koji je određeni pokretač prouzročio curenje memorije u nepaggiranom bazenu.

Za to nam je potreban uslužni program za konzolu Poolmoon.exe, uključeni u razvojni komplet Komplet za vozačke programe u sustavu Windows (WDK). S web mjesta MSFT preuzmite i instalirajte WDK za svoju verziju sustava Windows i pokrenite uslužni program Poolmon.exe (u WDK-u za Windows 10 uslužni je program smješten u C: \ Program Files (x86) \ Windows Kits \ 10 \ Tools \.

Nakon pokretanja uslužnog programa, pritisnite tipke P. U drugom stupcu ostat će procesi oznaka koji koriste memoriju koja se ne zamjenjuje (atribut Nonp), zatim pritiskom na B, sortirajmo po stupcu bajtova.

U našem primjeru možemo vidjeti kako većina RAM-a u nepariranom bazenu koristi upravljačke programe s Nr22, ConT i smNp oznakama.

Pomoću naredbi možete pronaći određene datoteke upravljačkih programa povezane s tim procesima:

findstr / m / l / s Nr22% Systemroot% \ System32 \ drivers \ *. sys
findstr / m / l / s ConT% Systemroot% \ System32 \ drivers \ *. sys
findstr / m / l / s smNp% Systemroot% \ System32 \ drivers \ *. sys

Tako smo dobili popis datoteka s upravljačkim programima koji mogu uzrokovati problem. Sada pomoću imena datoteka trebate odrediti na koje se upravljačke programe i komponente sustava odnose. Možete koristiti uslužni program za to. sigcheck od sysinternals.

znak C: \ Windows \ System32 \ upravljački programi \ rdyboost.sys

Program vraća ime, opis i verziju upravljačkog programa.

Sada možete pokušati ukloniti / ažurirati / ponovo instalirati upravljački program ili uslugu problema.
Ovaj se priručnik odnosi i na Windows Server 2008 - 2016 i na klijentske Windows 10, 8 i 7..