2014-11-11 3 views
5

Я работаю над некоторым кодом для контроля загрузки процессора с использованием Java. Я использую следующий код в моем приложении, чтобы получить данные о загрузке системыАльтернатива getSystemLoadAverage() для Windows?

public static double getCPULoad() { 
    OperatingSystemMXBean osMBean 
      = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); 

    double load = osMBean.getSystemLoadAverage(); 

    return load; 
    } 

Но на окнах он возвращает мне отрицательное значение (-1.0). Есть ли способ решить эту проблему?

ответ

2

this blog. Это неофициальное решение, но с использованием com.sun.management.OperatingSystemMXBean вместо java.lang.management.OperatingSystemMXBean существует два способа: getSystemCpuLoad() и getProcessCpuLoad() которые работают.

Смежные вопросы