2012-05-09 8 views
8

मैं जेवीएम के मेमोरी उपयोग को पढ़ने के लिए एक निर्धारित निष्पादक बना रहा हूं।जावा में मेमोरी सांख्यिकी प्राप्त करना: रनटाइम बनाम मेमोरीएमएक्सबीन

memoryMxBean.getHeapMemoryUsage().getUsed()  <=> runtime.totalMemory() - runtime.freeMemory() 
memoryMxBean.getHeapMemoryUsage().getCommitted() <=> runtime.totalMemory() 
memoryMxBean.getHeapMemoryUsage().getMax()  <=> runtime.maxMemory() 
अतिरिक्त गैर ढेर स्मृति उपयोग MemoryMXBean द्वारा दी गई जानकारी के अपवाद के साथ

,: उनके तरीकों के बीच निम्न पत्राचार के साथ रनटाइम & MemoryMXBean, - मैं एक चल JVM में स्मृति आंकड़े प्राप्त करने के दो तरीके सामने आने वाले क्या कोई कारण हैं कि मुझे इसे रनटाइम पर क्यों पसंद करना चाहिए, या इसके विपरीत?

उत्तर

2

कोई नहीं है। जेएमएक्स बीन को बाहरी रूप से एक्सेस किया जा सकता है और प्रबंधन उपकरण जैसे हाइपरिक (या यहां तक ​​कि नागोस) के लिए भी है - यह वैसे भी रनटाइम को सौंपेगा।

+0

हां। दोनों तरीकों से उपयोग की गई स्मृति के लिए बिल्कुल वही मान वापस आते हैं। – huljas

संबंधित मुद्दे