我正在尝试监控所有正在运行的Java虚拟机。
不幸的是,我找不到可靠地检索特定进程或VM的CPU使用率(例如以百分比表示)的方法。
我知道SIGAR,但ProcCpu getPercent()调用根本不可靠。 (获得结果需要多次调用)
到目前为止,我设法获得了所有虚拟机的PID列表。
如果可能的话,应该是一种跨平台的方法(至少是windows& linux)。
编辑: 我仔细研究了Fraser引用的approach,但无法弄清楚如何使用
访问我的VMObjectName.getInstance("java.lang:type=OperatingSystem");
如果我没有弄错的话,只能访问您自己创建并注册的(java)进程。