相关疑难解决方法(0)

测量代码段的Java执行时间,内存使用和CPU负载

对于特定的Java代码段,我想测量:

  • 执行时间(很可能是线程执行时间)
  • 内存使用情况
  • CPU负载(特别是可归因于代码段)

我是一个相对Java的新手,并不熟悉如何实现这一点.我已经被提到了JMX,但是我不确定如何使用JMX,JMX看起来有点"沉重",我正在寻找的东西.

理想情况下,我想要一些可以告诉我想要测量的测量类,可以选择start()在代码段之前调用方法,然后调用stop()方法.相关指标将记录到我指定的文件中.

例如:

import com.example.metricLogger;

metricLogger logger = new metricLogger();

logger.setLogPath(pathToLogFile);
logger.monitor(executionTime);
logger.monitor(memoryUsage);
logger.monitor(cpuLoad);

logger.start();

/* Code to be measured */

logger.stop();
Run Code Online (Sandbox Code Playgroud)

在Java中是否有任何标准/通用/传统方式来实现这一目标?

这种测量用于一次性性能比较,因此我不会寻找任何生产中的长期监测过程.

我很高兴被引用到教程或外部示例,并且不希望在这里得到完整答案.也就是说,如果能够实现上述任何简单的事情,那么一个现实的例子就会非常好.

java performance monitoring jmx measurement

25
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1

jmx ×1

measurement ×1

monitoring ×1

performance ×1