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