Merhaba,
Uygulamamızın ara ara cevap verememesi durumunu incelerken bu sürecin 1 thread'inin %100 CPU zamanı tüketmesini ve bu esnada diğer tüm işlerin durduğunu gözlemledik. Bu durum da "Stop The World" prensibi nedeniyle kaynaklanıyor olabilir düşüncesiyle yönümüzü GC'ye çevirdik. Keza java uygulamasını çalıştıran jvm makinesine GC hakkında herhangi bir yapılandırmada bulunmamıştık, varsayılan ayarlarında yani "Serial GC" çalışıyordu. Gözlemlediğimizde GC çalıştığı zamanlarda CPU yükünün de yukarı çıktığını ve 1 çekirdeğinin %100 CPU yükü ile çalıştığını doğruladık. Bunun üzerine uygulamamız için doğru garbage collector seçimi olduğunu düşündüğümüz "Concurrent Mark Sweep GC" için gerekli düzenlemeyi yaptık. Bunun üzerine yukarıda belirttiğimiz sorunumuz ortadan kalktı; fakat GC'nin kendisi çalıştığı zaman ve el ile çalıştırıldığı zaman boşaltılan ram miktarları arasında çok büyük bir fark var. Bu durum sizce normal mi? Düzenli olarak el ile çalıştırmak gerekli mi? Ya da kendi çalışmasını düzenlemek adına yapabileceğimiz bir şeyler var mı? Merak ediyoruz. Şimdiden çok teşekkürler. İyi çalışmalar. Berkay Tuncel
_______________________________________________ Linux-sunucu E-Posta Listesi [email protected] Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından okuyabilirsiniz; Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz. https://liste.linux.org.tr/mailman/listinfo/linux-sunucu
