gpt4 book ai didi

java - 如何使用java程序获取PID的内存、CPU使用率?

转载 作者:行者123 更新时间:2023-12-01 05:43:49 25 4
gpt4 key购买 nike

我正在尝试通过 Java 程序获取 PID 的内存和 CPU 使用情况。

我可以通过以下代码获取当前程序的PID:

private static int getProcessId()
{

String name = ManagementFactory.getRuntimeMXBean().getName();

StringBuffer pid = new StringBuffer();
for (int i = 0, l = name.length(); i < l; i++) {
if (Character.isDigit(name.charAt(i))) {
pid.append(name.charAt(i));
} else if (pid.length() > 0) {
break;
}
}
try {
return Integer.parseInt(pid.toString());
} catch (NumberFormatException e) {
return 0;
}

}

通过使用 PID,我想计算内存和 CPU 使用情况。有什么方法可以得到这些东西吗?

例如,假设我从方法 getProcessId() 获取 PID 为 2256。我想计算PID的内存和CPU:2256。

最佳答案

如果您在 Linux(或其他 UNIXy)系统上运行(可能,如果您正在谈论 PID),则 procfs file system 下提供了大量可用的东西。 ,假设您可以使用它。

您可以在 /proc/self 中四处搜寻对于当前进程,或 /proc/<PID>用于另一个进程。

对于内存和 CPU 使用情况,我会从 statm 开始, statusstat 。请参阅here以获得更详细的描述。

关于java - 如何使用java程序获取PID的内存、CPU使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6449473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com