【发布时间】:2011-06-08 09:58:45
【问题描述】:
我需要测量我的应用程序目前正在使用多少内存和 CPU,并且我需要从同一个应用程序中测量它。任何建议如何做到这一点?我一直在使用 jconsole,但找不到可以让我在控制台应用程序中使用它的 API。
谢谢。
编辑:正如用户 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
我从我要测量的应用程序中调用它。这个具体衡量什么?整个应用程序占用的内存?通过当前线程?
【问题讨论】:
标签: java performance monitoring