Paged Pol Memory Artışı

Merhabalar,

Yii Framework (hem 1.1.2 hem 1.1.8 denedik) üzerine kurulu PHP bazlı bir web sitemiz var. Windows Server 2003 kurulu bir makina ve sunucu olarak, IIS 6.0 kurulu (FastCgi extension çalışıyor) ve hem php versiyon 5.2.7 ve hem de 5.3.8 ile test yaptık.

Sorun şu, sunucu’nun “Paged Pool Memory” değeri devamlı olarak artmakta. İlk restart edildikten sonra 50-60Mb civarında seyreden bu değer, site açık olduğu sürece devamlı artarak, 300-350Mb değerlerine ulaşıyor (site kapalı iken 60Mb civarında kalıyor). Bundan bir süre sonrada muhtemel maximum değere geldiğinden sistem çöküyor.

Bu esnada yii framework’un loglarında dosya/connection açma ile ilgili hatalar baş gösteriyor ("not enough space, failed to open stream, include *.php, could not open connection, vs.).

Site’de hem MySql hem de MsSql DB sunucularına açılan bir çok connection var, ve bunlar query’ler bittikten sonra kapatiliyor ("$connection->false ile").

Sistem’e\ Paged Pool Memory belli bir değerin üzerine çıktığında (varsayılan olarak bu değer 80% sanırım), “trim” ederek bu PPM değerini belli seviyede tutmasını belirtebiliyoruz. Fakat bu sorunun kaynağını bulmamız lazım, çünkü belli yoğunlukta trafik olunca bu da çözüm oluşturmumyor.

“Poolmon.exe” kullanarak olası bir memory leak için kontrol yaptım, ve “Strg” tag’li bir kayıt devamlı artarak paged memory kullanmakta, fakat burdan kaydadeğer bir yere varamadım (windows update’ler de bunla ilgili bir KB var idi, bunu kurdum fakat bir işe yaramadı).

Task Manager’da, php-cgi.exe process’leri (bunların sayıları sitenin yoğunluğuna göre 20-25 taneye kadar çıkabiliyor) en çok 150Kb Paged pool memory kullanıyor gözüküyor.

Php ayarlarında, memory settingleri, IIS-fastcgi ayarlarında, MaxInstances, MaxConnections değerleri ile oynamalar yaptık fayda etmedi.

Sanırım, kodlamada bir sorun var, belki DB connectionlarinda veya ASP.NET üzerinde çalışan Chat ve Oyun motorlarımızin olduğu diğer sunuculara olan web service connection’larında sorun var, bilemiyorum.

Benzer bir sorun ile karşılaşmış ve yardımcı olabilecek, veya böyle bir altyapıda site sunucusunda, bu tarz bir Paged Pool Memory sorunu yaratabilecek unsurlar hakkında bilgisi olup yardımcı olabilecek biri olursa çok makbule geçecek.

Teşekkürler…

Can