2012-05-09 21 views
8

JVM'nin bellek kullanımını okumak için zamanlanmış bir yürütücü oluşturuyorum. , MemoryMXBean tarafından sağlanan ek olmayan yığın bellek kullanımı bilgisi dışındaJava'da Bellek İstatistikleri Alma: Çalışma Zamanı ve BellekMXBean

memoryMxBean.getHeapMemoryUsage().getUsed()  <=> runtime.totalMemory() - runtime.freeMemory() 
memoryMxBean.getHeapMemoryUsage().getCommitted() <=> runtime.totalMemory() 
memoryMxBean.getHeapMemoryUsage().getMax()  <=> runtime.maxMemory() 

: kendi yöntemleri arasında aşağıdaki yazışma ile Runtime & MemoryMXBean - Bir çalışan JVM bellek istatistiklerini almak için iki şekilde rastlamak Runtime üzerinden tercih etmem için herhangi bir neden var mı, yoksa tam tersi mi?

cevap

2

Hiçbiri yoktur. JMX fasülyesi dışarıdan erişilebilir ve hiperik (hatta nagios) gibi yönetim araçları içindir - Rampa'ya zaten yetki verecekti.

+0

Evet. Her iki yol da kullanılan hafıza için tam olarak aynı değeri döndürür. – huljas