Bilgisayarda Program Yokken RAM’in %99 Dolması Gizemi
Kurumsal sunucularda ve ofis bilgisayarlarında sistem yöneticilerinin sıkça karşılaştığı kafa karıştırıcı arızalardan biri, bilgisayar birkaç gün açık kaldıktan sonra sistemin aşırı yavaşlaması ve Görev Yöneticisinde RAM kullanımının %95 – %99 seviyesine kilitlenmesidir. Kullanıcı ‘İşlemler’ sekmesine bakıp programların harcadığı belleği topladığında (örneğin Chrome 1 GB, muhasebe yazılımı 500 MB) toplamda en fazla 3-4 GB kullanım görür; ancak 16 GB veya 32 GB RAM’in nereye gittiği listede görünmez. Bu durum, arka planda çalışan hatalı bir aygıt sürücüsünün veya Windows servisinin Bellek Sızıntısı (Memory Leak) yaşamasından kaynaklanır.
Bellek Sızıntısı (Memory Leak) ve Havuz Bellek Mimarisi
İşletim sistemi çekirdeği (Kernel) sürücülere donanımla konuşabilmeleri için RAM üzerinde iki temel bellek havuzu tahsis eder:
- Paged Pool (Sayfalanabilir Havuz): Gerektiğinde diskteki sanal belleğe (pagefile) kaydırılabilen esnek çekirdek belleğidir.
- Non-Paged Pool (Sayfalanamayan Havuz – NPP): Doğrudan donanım kesmelerini (Interrupt) yönettiği için asla diske aktarılamayan, fiziksel RAM’de çakılı kalmak zorunda olan alandır. Sağlıklı bir Windows sisteminde bu değer en fazla 200 MB ile 400 MB arasındadır. Hatalı bir sürücü bu alanı gigabaytlarca şişirdiğinde sistemde RAM biter.
1. Adım: Non-Paged Pool Şişmesinin Görev Yöneticisinden Teşhisi
- Görev Yöneticisi açılır ve Performans > Bellek sekmesine tıklanır.
- Pencerenin altındaki teknik değerler incelenir: Sayfalanmamış Havuz (Non-Paged Pool) değeri okunur.
- Eğer bu değer 4 GB, 8 GB, 16 GB gibi devasa rakamlara ulaşmışsa sistemde kesin bir sürücü kaynaklı bellek sızıntısı vardır.
2. Adım: Microsoft PoolMon Aracı ile Suçlu Sürücüyü Teşhis Etme
Hangi donanım parçasının sürücüsünün belleği sızdırdığını bulmak için Windows Driver Kit (WDK) içerisindeki PoolMon.exe aracı yönetici olarak çalıştırılır:
poolmon -p -bKomut, en çok bellek tüketen sürücü etiketlerini (Tag) en üste sıralar. Örneğin en üstte Tag: WfdP veya Tag: NDIS etiketi görülür. Bu 4 harfli etiket komut satırından taranarak arızalı .sys dosyası ifşa edilir:
findstr /m /l /i /s "WfdP" C:WindowsSystem32drivers*.sysKomut hedef olarak örneğin rtwlanu.sys (Realtek Kablosuz Ağ Sürücüsü) veya e1d68x64.sys (Intel Ağ Kartı Sürücüsü) dosyasını işaret eder.
3. Adım: Hatalı Ağ Kartı ve Killer Network Bellek Sızıntısını Çözme
Tarihsel olarak bellek sızıntılarının %90’ı anakart üzerindeki ağ kartı yazılımlarından (özellikle eski Killer Network Suite, Realtek NDIS ve cFosSpeed trafik şekillendiriciler) kaynaklanır:
- Anakart üreticisinin sitesinden ağ kartının ‘yalnızca sürücü’ (Driver Only) paketi indirilerek güncellenmelidir; yardımcı kontrol panelleri kaldırılmalıdır.
- Kayıt Defterinden Windows Ağ Veri Planı izleme servisi kapatılır:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNduyolundaki Start değeri 2 yerine 4 (Disabled) yapılarak yeniden başlatılır.
Sunucularda bellek sızıntısı analizi, kernel crash dump incelemeleri ve kararlı Windows altyapı mühendisliği için BaykalSoft Sistem Analiz ve Optimizasyon birimimizden destek alabilirsiniz.