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

标签 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

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

最佳答案

关于java - 使用 java.lang.management 测量 Java 控制台应用程序使用的内存和 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277043/

相关文章:

java - Eclipse 组织静态导入

java - 如何显示启动画面,在后台加载数据,然后隐藏启动画面?

Java 负整数转十六进制并返回失败

debugging - 监控API调用

Tomcat:查看哪些线程正在使用数据库连接池

java - 在 Android Stud 的 Java 中使表行可滚动

mysql - 如何高效播种Devise用户?

java - 执行 2 个或更多 Runnable 会导致性能问题

javascript - 与自实例化的构造函数相比,使用对象文字是否有性能优势?

node.js - 从网站远程检查 pm2 中应用程序的状态?