如果从不同的 JVMS 调用,则系统 CPU 使用率的“SystemCpuLoad”会有所不同

问题描述

我有两个 JVM,其中一个 JVM(JVM 1)是轻量级的,另一个 JVM(JVM 2)执行繁重的任务。当我尝试通过获取“SystemcpuLoad”来从 JVM 获取系统使用率时,JVM 1 给出了正确的 cpu 值(匹配 SAR 值),而另一个执行繁重工作的 JVM 给出了与 SAR 值不匹配的高 cpu 使用率。 遵循以下方法

final ObjectName mapMBeanName = new ObjectName( "java.lang:type=OperatingSystem" );
MBeanServer server = ManagementFactory.getPlatformMBeanServer();
cpu =100.0 * Float.parseFloat( server.getAttribute( mapMBeanName,"SystemcpuLoad" ).toString() );

任何人都可以帮助我如何获得正确的系统 cpu 使用率,而不管 JVM 进程是执行繁重任务还是轻任务?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...