Как использовать getSystemCpuLoad () в JMX - PullRequest
6 голосов
/ 09 февраля 2012

Привет, я не могу использовать getProcessCpuTime () или getProcessCpuLoad () или getSystemCpuLoad () в моей Java-программе.Я использовал, как показано ниже.

ManagementFactory. getOperatingSystemMXBean().getProcessCpuTime();

тоже так

( (OperatingSystemMXBean) getOperatingSystemMXBean() ).getProcessCpuTime()

Но ошибка с отображением, подобная методу getProcessCpuTime () не найдена.Я включил следующие заголовочные файлы.Этого достаточно, или мне нужно больше использовать .?

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

Может кто-нибудь, пожалуйста, подскажите мне, как использовать эти методы.Я использую JDK1.6.И мой код ниже

import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class printUsage {

public static void main(String[] args) {
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();

System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuTime());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getSystemCpuLoad());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuLoad());
}

}

Ответы [ 2 ]

11 голосов
/ 09 февраля 2012

импорт после одного

 import com.sun.management.OperatingSystemMXBean;

Не

import java.lang.management.OperatingSystemMXBean;

Используйте следующий код.

OperatingSystemMXBean operatingSystemMXBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();

Я получаю действительные результаты с этим кодом.

3 голосов
/ 09 февраля 2012

Взгляните на следующий javadoc: http://docs.oracle.com/javase/6/docs/api/

Посмотрите, какие методы определены для OperatingSystemMXBean. Ваша проблема в том, что вы ищете методы, определенные в com.sun.management.OperatingSystemMXBean в java.lang.management.OperatingSystemMXBean.

Пакет com.sun предназначен в основном для внутреннего использования создателями java, а не для разработчиков приложений. Вы должны использовать классы из пакета java.lang.management и обращаться к соответствующему документу API.

...