1
我需要測量當前應用程序使用了多少內存和CPU,並且需要從相同的應用程序中測量它。任何建議如何做到這一點?我一直在使用jconsole,但是我找不到一個可以使我從控制檯應用程序中使用它的API。使用java.lang.management測量Java控制檯應用程序使用的內存和CPU
謝謝。
編輯:作爲用戶aix建議,我使用java.lang.management
來實現我的目標。但是,我對此有幾點疑問。這是我寫的代碼:
MemoryMXBean bean = ManagementFactory.getMemoryMXBean();
MemoryUsage memoryUsage = bean.getHeapMemoryUsage();
double used = (double)memoryUsage.getUsed()/(1024 * 1024); // in MB
double max = (double)memoryUsage.getMax()/(1024 * 1024); // in MB
我從要測量的應用程序調用此函數。這項措施到底是什麼?整個應用程序佔用的內存?通過當前線程?
這將有助於,謝謝!你能看看我更新的問題嗎? – Ivan 2011-06-08 12:28:05
@Ivan:AFAIK沒有像「線程X使用的堆」這樣的度量(你將如何歸類由多個線程共享或在線程之間傳遞的對象)。 – NPE 2011-06-08 12:58:53