如何通过java进程查找cpu使用情况

时间:2014-01-07 11:14:28

标签: java jvm cpu-usage

我想监视某些java应用程序的cpu使用情况。我不想使用像这样的工具 jconsole(JMX)

如果有任何方法可以通过java代码检查?

3 个答案:

答案 0 :(得分:1)

使用JavaSysMon

目前报道:

  • 流程表(也以树形式提供),包括pid,ppid,name, 命令行,用户,进程大小,驻留进程大小,用户时间, 和内核时间。
  • 正常运行时间
  • 当前流程的pid
  • 总RAM和免费RAM
  • 总和免费交换
  • CPU使用率
  • CPU频率
  • CPU数量

此外,您可以使用jmx mbeans或使用Runtime.exec()获取PID并使用特定于调用平台的命令,如ps。

答案 1 :(得分:0)

一种方法是使用

Runtime.getRuntime().exec(command);

并运行top | grep java命令。

答案 2 :(得分:0)

您应该从Java类本身检索MX Bean ThreadMXBean并使用方法get*CpuTime()

否则,您可以在Java进程PID上使用旧的top和grep。

如果您足够勇敢,perf包中还有linux-tools工具。

希望有所帮助!