有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jvm如何通过java进程查找cpu使用率

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

是否有任何方法可以通过java代码进行检查


共 (3) 个答案

  1. # 1 楼答案

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

    否则,您可以在Java进程PID上使用良好的oldtop和grep

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

    希望有帮助

  2. # 2 楼答案

    一种方法是使用

    Runtime.getRuntime().exec(command);
    

    并运行top | grep java命令

  3. # 3 楼答案

    使用JavaSysMon

    目前它报告:

    • 进程表(也可作为树提供),包括pid、ppid、名称、, 命令行、用户、进程大小、常驻进程大小、用户时间、, 和内核时间
    • 正常运行时间
    • 当前进程的pid
    • 总内存和自由内存
    • 完全和自由交换
    • CPU使用率
    • CPU频率
    • CPU数量

    您还可以使用jmx mbeans或使用运行时获取PID。exec()并使用该调用特定于平台的命令,如ps