Java 프로그램을 통해 몇 가지 시스템 통계 (CPU 사용률, 디스크 사용률 및 메모리 사용률 %)를 찾으려고합니다. 이 목적을 위해 나는 SIGAR를 사용 해왔다. 후자의 두 개를 올바르게 수정하고 있지만 CPU 사용률이 정확하지 않습니다. 아래에 내 코드를 추가하면 누군가가 내가 무엇이 잘못되었는지 이해할 수있게 도와 줄 수 있습니까?Sigar를 사용하여 Java에서 전체 CPU 사용률을 찾는 방법
import java.io.*;
import java.util.*;
import java.text.*;
import java.lang.*;
import org.hyperic.sigar.CpuTimer;
import org.hyperic.sigar.DiskUsage;
import org.hyperic.sigar.FileSystemUsage;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
public class SystemMonitor {
private static Sigar sigar = new Sigar();
public static void getSystemStatistics(){
Mem mem = null;
CpuTimer cputimer = null;
FileSystemUsage filesystemusage = null;
try {
mem = sigar.getMem();
cputimer = new CpuTimer(sigar);
filesystemusage = sigar.getFileSystemUsage("C:");
} catch (SigarException se) {
se.printStackTrace();
}
System.out.print(mem.getUsedPercent()+"\t");
System.out.print(cputimer.getCpuUsage()+"\t");
System.out.print(filesystemusage.getUsePercent()+"\n");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SystemMonitor m1 = new SystemMonitor();
for(int i=0; i<1000;i++){
m1.getSystemStatistics();
}
}
}
지속적으로 CPUUtilisation % 0이 발생합니다. 이는 잘못된 것 같습니다.