使用java.lang.management测量Java控制台应用程序使用的内存和CPU

时间:2011-06-08 09:58:45

标签: java performance monitoring

我需要测量我的应用程序目前使用多少内存和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

我是从我想要测量的应用程序中调用它的。这究竟是做什么的?整个应用程序占用的内存?通过当前的线程?

1 个答案:

答案 0 :(得分:3)

听起来你正在寻找Java Virtual Machine Monitoring and Management API

请特别注意MemoryMXBeanThreadMXBean