我需要一个API来获取当前Java进程或应用程序的CPU和内存使用情况。
我已经有了一个API可以获取整个系统的CPU使用情况,但我需要针对特定进程的使用情况(OperatingSystemMXBean
接口的getSystemCpuLoad
)。
先行致谢。
我需要一个API来获取当前Java进程或应用程序的CPU和内存使用情况。
我已经有了一个API可以获取整个系统的CPU使用情况,但我需要针对特定进程的使用情况(OperatingSystemMXBean
接口的getSystemCpuLoad
)。
先行致谢。
如果您使用不同的 OperatingSystemMXBean
,则可以获取该数据。
请检查导入的包:com.sun.management.OperatingSystemMXBean。
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class Test {
public static void main(String[] args) {
OperatingSystemMXBean operatingSystemMXBean =
(OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(operatingSystemMXBean.getProcessCpuLoad());
}}
一旦您获得了pid,您可以使用jstat -gc [insert-pid-here]来查找垃圾收集堆行为的统计信息。
jstat -gccapacity [insert-pid-here]将呈现有关内存池生成和空间功能的信息。
jstat -gcutil [insert-pid-here]将以其容量的百分比呈现每个代的利用率。对于快速查看使用情况非常有用。