我需要从 LINUX 中的 java 代码获取特定进程的 CPU 使用率。
我试过了
Process p = Runtime.getRuntime().exec("top");
或
Process p = Runtime.getRuntime().exec("top | grep java");
但是它没有返回任何东西。其实我想得到几个JBOSS节点的CPU使用率。如果我可以“顶”或 java 代码中的某些内容,那么我可以处理输出并找到我想要的详细信息。
但如果我尝试
Process p = Runtime.getRuntime().exec("ls -l");
它正确地返回了输出。
我可以这样做吗?还有其他选择吗?
谢谢。
最佳答案
如果您知道进程 ID,并且您是启动它们的用户(或者您有足够的权限),您总是可以通过阅读伪文件/proc/PID 来获取详细信息/统计。在回答这个问题时很好地描述了如何做到这一点:How to calculate the CPU usage of a process by PID in Linux from C? .
关于java - 获取 Java 进程的 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090920/