IIS ve .NET4 Web uygulamasını çalıştıran bir Windows 2008 sunucusunu (Amazon EC2'de) yönetiyorum. Geçen gün bir bellek uyarısı aldım ve gittim ve baktım ve işlem belleğinin bir tür yavaş sızıntıyla zamanla büyüdüğünden eminim. Çok fazla büyümedi, tıpkı 60M ila 200M gibi, ancak monitörü başlatmak için oldukça düşük eşiğimizi (% 75) aştığı kutuyla yeteri kadar devam ediyordu.
Uygulamanın havuzunu geri dönüştürdüm ve bellek boşaldı ve takas alanının önemli ölçüde kullanıldığını ve 1 GB'den daha fazlasının bu geri dönüşümle serbest bırakıldığını gösteren istatistikleri inceledikten sonra fark ettim.
Belki de bu temel bir soru, ama ben UNIX'im ve hafızanız bitene kadar alışmamaya alışkınım. Bu kutu hiçbir zaman% 75 bellek kullanımının üzerine çıkmamıştır. Bu bir Windows veya .NET veya Amazon bir şey mi? Bu uygulamada şüphelenilenden çok daha büyük bir bellek sızıntısı olduğundan şüpheleniyorum - 60M'den 200M'ye sızmıyor, 60M'den 1.2GB'a sızıyor, ancak bunların çoğu bir şekilde "soğuk" gidiyor ve takas etmek için dışarı itiliyor?
Uygulama havuzunda ayarlanmış bellek geri dönüşümü var, ancak kutunun tam belleğini tetikliyor, bu yüzden bu uygulama otomatik olarak geri dönmeden önce gerçekten çok büyük olabilir.
Düzenli "zamanlanmış" geri dönüşüm ayarlayabilirdim, ancak bu bir geçici çözüm, uygulamayı düzeltmek için geliştiriciyi alacağım, ancak bu hakkı anladığımdan emin olmak için takas kullanımı ile burada neler olduğunu anlamanız gerekiyor.
Daha fazla bilgi ile düzenleme: örnek bellek: 1,7 GB takas: 4,5 GB
Bellek: 211.000k olduğunu gösteren taskmgr içinde w3wp.exe işlemini görüyorum. Ancak yeniden başlattığımda (kendi uygulama havuzunda ve kutudaki tek uygulama), bellek kullanımı 60M normal başlangıç noktasına düştü ve 1 GB + takas da serbest kaldı. Taskmgr'da her zamanki Bellek (Özel Çalışma Kümesi) stat'ımı artırdım, ancak diğer izleme (Cloudkick) aracılığıyla takas değişikliğini gördüm. Geri dönüp bugün baktığımızda, bellek süreçte 195M'ye kadar (toplam 1.2 GB) geri döndü ve takas 1.0 GB'dan 1.1 GB'a kadar sürdü, olduğu yere kadar geri dönmedi (zaman içinde grafik, bir yavaş sürünme).
Bu belirli uygulama hakkında daha az endişeliyim ve sadece Windows'un ne zaman değiştiğini ve bunu nasıl kullandığını ve verilen Windows belleği ve genel olarak takas kullanımı hakkında neyin endişe duyduğunu anlama konusunda daha fazla endişeliyim.