1
我想圖表Java中的tomcat的門戶網站的Java虛擬機內存使用8輸出Java的實際內存使用率
Java運行時的值是錯誤的,它只是給出了一個半acurate的estimatives,例如:
Runtime.getRuntime().maxMemory();
我想我發現在計算器上一個很好的解決方案,但它只是工作的Java 7:
MemoryPoolMXBean testEdenBean = ManagementFactory.getMemoryPoolMXBeans().get(3);
MemoryPoolMXBean testSurvivorBean = ManagementFactory.getMemoryPoolMXBeans().get(4);
MemoryPoolMXBean testTemurBean = ManagementFactory.getMemoryPoolMXBeans().get(5);
max = testEdenBean.getUsage().getMax()
+ (testSurvivorBean.getUsage().getMax() * 2)
+ testTemurBean.getUsage().getMax();
的Java VisualVM的給了我真正的價值,因爲如果我啓動tomcat -Xmx與1024米我得到最大: 1.073。 741.824 B這是正確的。
我怎樣才能讓我的代碼輸出正確的值?