我需要测量我的应用程序目前使用了多少内存和 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 Virtual Machine Monitoring and Management API .
特别是看MemoryMXBean
和 ThreadMXBean
.
关于java - 使用 java.lang.management 测量 Java 控制台应用程序使用的内存和 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277043/