Mit Sigar API JVM CPU Auslastung

Ich bin mit Sigar um die CPU-Auslastung der Laufenden JVM in einem Anwendungsserver und speichern Sie für eine historische Sicht auf diese Daten, aber ich bekomme immer 0% CPU-Prozentsatz.

In der Zwischenzeit, ich halte meine visualVM öffnen Sie überwachen die CPU-Auslastung, und ich sehe die CPU - % wechselt periodisch in visualVM, während es immer Berichte, die 0% mit Sigar.

Hier ist der code, den ich m laufen regelmäßig:

Sigar sigar = new Sigar();
ProcCpu cpu = null;
long pId = sigar.getPid(); //This one gives me the same process ID that I see in visualVM
try {
    cpu = sigar.getProcCpu(pId);

} 
catch (SigarException se) {
    se.printStackTrace();
}
System.out.print(cpu.getPercent());

Dieser code gibt immer 0%.

Was mache ich falsch, es diesem Fall? Wie bekomme ich Sigar zum anzeigen der CPU-Auslastung ähnlich der Verwendung angezeigt VisualVM?

Habe ich versucht, indem

cpu.gather(sigar, pId);

nach dem Aufruf getProcCpu(pid), aber ich bekomme immer nur zwei Werte (0.0 und 9.08729312 E-315), auch wenn ich immer Zunehmender und Abnehmender Last auf dem server...

InformationsquelleAutor Sammy | 2013-10-11

Schreibe einen Kommentar