2014-11-11 16 views
5

Tôi đang làm việc với một số mã để theo dõi tải CPU bằng cách sử dụng Java. Tôi đang sử dụng mã sau đây trong ứng dụng của mình để tải hệ thốngThay thế getSystemLoadAverage() cho Windows?

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

    double load = osMBean.getSystemLoadAverage(); 

    return load; 
    } 

Nhưng trên cửa sổ, nó trả về giá trị âm (-1,0). Có cách nào tôi có thể giải quyết vấn đề này?

Trả lời

2

Vui lòng đọc this blog. Đây không phải là giải pháp chính thức nhưng khi sử dụng com.sun.management.OperatingSystemMXBean thay vì java.lang.management.OperatingSystemMXBean, có hai phương pháp getSystemCpuLoad()getProcessCpuLoad() đang hoạt động.