想得到针对每一个进程的占CPU的百分比,但是用getpercent()这个打印出来老是0.0。上网搜了好久也没有搜到用java写的得到单个进程占CPU百分比的例子。第一次接触这些东西所以懂得不多,求帮助T_T……最后再次谢谢!还有如果有数据了值也对不上。sleep有加,但也是没多大效果。
Sigar sigar = new Sigar();
long pid = sigar.getPid();
int sleep_time = 100;
SigarProxy sigars = SigarProxyCache.newInstance(sigar, sleep_time);
ProcCpu cpuu;
try {
ProcCpu cpu = sigars.getProcCpu(pid);
cpu.getPercent(); //it return 0.0 first
Thread.sleep(sleep_time);
cpuu = sigar.getProcCpu(pid);
System.out.println(cpuu.getPercent());
} catch (Exception e) {
e.printStackTrace();
}
20分
public static void main(String[] args) throws SigarException {
final Random rand = new Random();
new Thread() {
public void run() {
while(true) {
if(rand.nextBoolean()) {
for (int i = 0, l = 10000000; i
rand.nextDouble();
}
} else {
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {