JVM

2016-04-06 26 views
0

'daki bileşenlerin belleğinin belirlenmesi Bir JVM'de, sunucu bileşenlerini çalıştıran birkaç ekibimiz var.JVM

Bir bellek sorunu oluştuğunda, her bileşenin ne kadar bellek aldığını (veya OOME :-) için kimin sorumlu olduğunu bilmemiz gerekir) bilmemiz gerekir.

Her bileşenin bellek kullanımını tanımlamaya yardımcı olabilecek genel bir teknik var mı?

Bellek dökümlerinin ve analiz araçlarının farkındayım, ancak karmaşık grafikler ve benzerleri nedeniyle analizin çok karmaşık olduğu durumlar var. Özel yığınlar veya her bileşen belleğini izlemek için etkili bir yol gibi bazı gelişmiş teknikler olup olmadığını merak ediyordum.

+0

"Bileşen" ile ne demek istiyorsun? –

+0

Referans grafiğiniz çok karmaşıksa, bu bir uyarı işareti olmalıdır. – biziclop

+0

Bileşenlerde sadece uygulamanın farklı uygulama kısımlarını kastediyorum. @Kedar Mhaswade –

cevap

0

ben inşa edilmiştir Uçuş Kaydedici gibi bir bellek profilleyici olacaktır.

Bu, büyük kullanıcılardan bellek kullanımı dökümünü verebilir. Belleğin çoğunun nerede korunduğunu görmek için bu listeyi çalışıyorum.

+1

VM'yi '-XX: + HeapDumpOnOutOfMemoryError' ile başlatmak, özellikle bellek sızıntınız kolayca tekrarlanamazsa oldukça kullanışlıdır. – biziclop

+0

@biziclop Yığın büyüklüğünü artırmaya da eğilimliyim, ancak daha küçük bir yığın dökümü için onu düşürürüm. –