Windows Server 2008 R2 64 bit bellek sızıntısı


12

Ofis sunucularımdan birinde sorun yaşıyorum. 6GB RAM bellek ile sanallaştırılmış bir Windows 2008 R2 Sunucusudur. Yalnızca Microsoft SQL Server (maksimum atanan bellek = 3GB) ve yalnızca 1GB'dan fazla RAM tüketmeyen bir yazılım var. Bununla birlikte, sunucunun RAM belleği neredeyse doludur ve görev yöneticisindeki süreçlere bakıldığında bunu toplamıyor gibi görünmektedir. RamMap'i yükledim, ancak çok kolay yorumlayamıyorum, tanımlayabileceğiniz herhangi bir "yüksek değer" var mı?

resim açıklamasını buraya girin


1
"Toplam" veya "Aktif" e göre sıralama, cevabı oldukça açık hale getirirdi.
Dmitry Grigoryev

Yanıtlar:


18

Ben hemen şüpheli olarak göze çarpan ~ 3.2 gigabayt Sürücü Kilitli bellek görüyorum.

Bu tür bir bellek, Sürücü Kilitli bellek, çekirdek modu sürücüsü tarafından kilitlenmiş bellektir. Genellikle küçük miktarlarda veri aktarma amacıyla , genellikle kısa sürelerle.

Eğer büyük bir sürücü kilitli hafızanız varsa, uzun süre, genellikle bir şeyin doğru olmadığını gösteren bir işarettir.

Burada çılgın bir tahminde bulunacağım ve sanallaştırılmış bir sunucu olduğundan bahsettiğinizden beri bunu yapan VMware balon sürücüsü olduğunu tahmin edeceğim. Size bunu neden yaptığını anlatacak kadar verim yok , ancak özellikle bunun gibi , özellikle gerekli olmadığında büyük miktarda hafızayı tutan balon sürücüsüyle ilgili konuşan VMware destek KB'leri var. olmak.

Ayrıca, balon sürücüsünün tasarlandığı gibi davranma olasılığını da göz önünde bulundurmanız gerekir ve aynı ana bilgisayardaki başka bir VM'ye umutsuzca bellek vermesi gerektiğinden sunucu sayfanızı bellekten çıkarmaya çalışır.

Bunun bir hipervizör dinamik bellek sürücüsü değil, sadece bazı hileli aygıt sürücüsü olması başka bir olasılık daha var.

Sürücüler genellikle , ayırma yapmaktan hangi sürücünün sorumlu olduğunu belirten bir 3 veya 4 karakterlik etiketle "etiketli" bellek ayırır.
Windows SDK / DDK'nin bir parçası olan poolmon.exe, tanılamaya yardımcı olabilir.

Dediğim gibi, vahşi tahmin, ama sahip olduğum verilerle yapabileceğim en iyisi.


16

Eh, 2005'ten 2016'ya kadar yerinde SQL Server'ın akla gelebilecek her versiyonuna sahibim ve gerçekte kullanılan mem'in% 100'ü kadar büyük bellek sızıntıları görmedim. Sanal Makineniz için Dinamik Belleğinizin etkin olup olmadığına bakın .

Driver Lockedkonsantre olmanız gereken bir figür. Özel durumunuzda, Driver Lockedmuhtemelen tüm kullanılmayan belleği kilitleyen (VM'ye atanan, ancak atm tarafından kullanılmayan) Hyper-V sürücülerinden biridir, böylece Dinamik Bellek ile yapılandırılmış diğer bazı VM'lere "hatta" verebilir şu anda hangisi olursa olsun işletim sistemi. Bu sanal makinenin içinde büyük bir dosya veya bellek yoğun bir uygulama açarak test edebilirsiniz - diğer bazı metrikler arttıkça DriverLocked bellek azalmalıdır. IMHO , tüm VM'lerde belleğinizden çok fazla fazla sağlamadıysanız endişe nedeni olmamalıdır.


5
Seni 8 saniye kadar yendim ... Sunucu Hatası'na hoş geldin. :)
Ryan Ries

Gerçekten yaptınız :-)
Kitet
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.