小编AAG*_*AAG的帖子

作为服务运行时 OperatingSystemMXBean.getSystemCpuLoad 不起作用

我们有一段代码需要监控CPU负载。我们通过以下代码行获取 CPU 负载:

((com.sun.management.OperatingSystemMXBean) ManagementFactory
  .getOperatingSystemMXBean()).getSystemCpuLoad();
Run Code Online (Sandbox Code Playgroud)

在测试期间,这工作得很好。

当部署到 2012 Windows Server 并作为 Service 运行时, getSystemCpuLoad 始终返回 -1。

如果我们停止该服务并将其作为应用程序运行(仍在 2012 Window Server 计算机上),它会再次运行。

我查看了类路径差异和环境变量差异,但找不到任何差异。

有谁知道为什么 getSystemCpuLoad 在应用程序中运行时有效,但不能作为服务运行?

java cpu-load

5
推荐指数
1
解决办法
762
查看次数

标签 统计

cpu-load ×1

java ×1