2012-02-09 3 views
6

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

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()); 
} 

} 
+0

Можете ли вы разместить больше кода? – kosa

+0

см. Код, который я опубликовал – shagul

ответ

11

импорт следующих один

import com.sun.management.OperatingSystemMXBean; 

Не

import java.lang.management.OperatingSystemMXBean; 

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

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

Я верю результаты с помощью этого кода.

+0

, его рабочий предел для getProcessCpuTime(), но его снова показывает ошибку, если я пытаюсь получить getSystemCpuLoad() и для getProcessCpuTime() .. – shagul

+0

В документах нет метода getSystemCpuLoad. http://docs.oracle.com/javase/6/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html. – kosa

+0

Я нашел эти методы в следующей ссылке [link] (http://download.java.net/jdk8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuTime()) – shagul

3

Посмотрите на следующую документацию: http://docs.oracle.com/javase/6/docs/api/

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

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

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