2012-02-09 14 views
6

Non riesco a utilizzare getProcessCpuTime() o getProcessCpuLoad() o getSystemCpuLoad() nel mio programma java. Ho usato come sotto.Come utilizzare getSystemCpuLoad() in JMX

ManagementFactory. getOperatingSystemMXBean().getProcessCpuTime(); 

anche come questo

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

Ma il suo mostrando di errore come metodo getProcessCpuTime() non viene trovato. Ho incluso i seguenti file di intestazione. È abbastanza o ho bisogno di usare di più?

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

Qualcuno può suggerirmi come utilizzare questi metodi. sto usando jdk1.6. E il mio codice è sotto

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

Puoi pubblicare altro codice? – kosa

+0

si prega di fare riferimento al codice che ho postato – shagul

risposta

11

importazione successivo

import com.sun.management.OperatingSystemMXBean; 

Non

import java.lang.management.OperatingSystemMXBean; 

Usa seguente codice.

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

Ottengo risultati validi con questo codice.

+0

ya funziona bene per getProcessCpuTime() ma è di nuovo mostrando errore se provo per getSystemCpuLoad() e per getProcessCpuTime() .. – shagul

+0

Non c'è alcun metodo getSystemCpuLoad nei documenti. http://docs.oracle.com/javase/6/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html. – kosa

+0

ho trovato questi metodi nel seguente link [collegamento] (http://download.java.net/jdk8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuTime()) – shagul

3

Date un'occhiata al seguente javadoc: http://docs.oracle.com/javase/6/docs/api/

vedere quali metodi definiti per OperatingSystemMXBean. Il tuo problema è che stai cercando i metodi definiti in com.sun.management.OperatingSystemMXBean in java.lang.management.OperatingSystemMXBean.

Il pacchetto com.sun è principalmente per uso interno dei creatori di java, non per gli sviluppatori di applicazioni. È necessario utilizzare le classi dal pacchetto java.lang.management e fare riferimento al documento API appropriato.

Problemi correlati