Использование OperatingSystemMXBean для получения загрузки процессора

Я пытаюсь использовать Java, чтобы получить процент использования ЦП, используемый в данный момент виртуальной машиной Java. Мое исследование указало мне на использованиеcom.sun.management.OperatingSystemMXBean класс. Следующие примеры онлайн, я написал следующее:

import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;


public class TestClass {

public static void main (String[] args) {
    OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();

    System.out.println(bean.getProcessCpuLoad());
    System.out.println(bean.getSystemCpuLoad());

    }

}

После тестирования этого на двух машинах, я не могу перестать получать результат-1.0 для обоих звонков. Я попытался запустить этот код с использованием 64- и 32-разрядных версий Java 7 и 6 с помощью различных методов. Тем не менее, все, что я получаю, это распечатка-1.0 который,в соответствии с Javadocs,

All values betweens 0.0 and 1.0 are possible depending of the activities going on in the system. If the system recent cpu usage is not available, the method returns a negative value.

Я не знаю, что еще здесь делать. Получение нагрузки на процессор очень важно, и я бы хотел избежать использования другой библиотеки, такой как Sigar. У кого-нибудь есть какие-либо рекомендации или есть понимание этой проблемы?

Ответы на вопрос(1)

Ваш ответ на вопрос