2014-11-11 6 views
5

Java를 사용하여 CPU로드를 모니터링하기 위해 일부 코드로 작업 중입니다. 시스템로드를 얻으려면 다음 코드를 사용하고 있습니다.Windows 용 getSystemLoadAverage()의 대체?

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

    double load = osMBean.getSystemLoadAverage(); 

    return load; 
    } 

하지만 Windows에서는 음수 (-1.0)를 반환합니다. 이 문제를 해결할 수있는 방법이 있습니까?

답변

2

this blog을 읽으십시오. 공식 해결책은 아니지만 java.lang.management.OperatingSystemMXBean 대신 com.sun.management.OperatingSystemMXBean을 사용하는 경우 두 가지 방법 getSystemCpuLoad()getProcessCpuLoad()이 작동합니다.