【问题标题】:How to track system load average using java如何使用java跟踪系统负载平均值
【发布时间】:2018-02-08 10:41:25
【问题描述】:

如何使用 java 跟踪系统负载平均值。结果应该与 Linux 中的“正常运行时间”命令返回的负载平均值相同。

正常运行时间命令结果示例是,

root@jamsheer:~# 正常运行时间

16:01:06 up  6:58,  2 users,  load average: 1.24, 1.25, 1.33

我需要通过编程获得相同的平均负载,并且应该在所有平台上都可以执行,请有任何建议。

提前致谢。

【问题讨论】:

  • 您可以从 Java Runtime 执行 uptime 命令并从结果中解析信息。
  • 好的,有没有可以跨平台执行的解决方案?
  • 在这里查看我的答案,它有一个示例代码 sn-p 来执行命令 - stackoverflow.com/questions/48325178/…
  • 你的意思是你也想在windows或者macos中执行uptime命令?
  • 对,应该可以在所有平台上执行,谢谢。

标签: java ubuntu


【解决方案1】:

对于独立于平台的结果,检查 JMX 和 OperatingSystemMXBean:

OperatingSystemMXBean mxBean = ManagementFactory.getOperatingSystemMXBean();
double loadAverage = mxBean.getSystemLoadAverage();
 

请注意,如果您的平台无法上报,则返回的值为负数,这就是我在 Win 7 盒子上的结果。

【讨论】:

    猜你喜欢
    • 2015-11-06
    • 1970-01-01
    • 2014-07-08
    • 2010-09-29
    • 2011-06-26
    • 1970-01-01
    • 2011-08-02
    • 2014-05-07
    • 2012-04-03
    相关资源
    最近更新 更多