![](/img/trans.png)
[英]How to get a System's total CPU usage percentage of a remote computer using a java program or JMX
[英]How to get PID's Memory, CPU usage using java program?
我正在嘗試通過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
文件系統 ,那么會有很多東西可用。
您可以在/proc/self
中瀏覽當前進程,或在/proc/<PID>
中瀏覽另一進程。
對於內存和CPU使用率,我將從statm
, status
和stat
。 請參閱此處以獲得更詳細的描述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.