Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Sigar库获取进程CPU使用率_Java_Jvm_Cpu_Cpu Usage_Sigar - Fatal编程技术网

Java 使用Sigar库获取进程CPU使用率

Java 使用Sigar库获取进程CPU使用率,java,jvm,cpu,cpu-usage,sigar,Java,Jvm,Cpu,Cpu Usage,Sigar,我一直试图通过使用获得进程CPU使用率,但我总是得到0的值,即使它应该更高 我每秒钟都在计时器上做这件事: Sigar sigar = new Sigar(); long pid = find.find("Exe.Name.ct=myprocess.exe"); ProcCpu cpu = sigar.getProcCpu(pid); System.out.println(cpu.getPercent()); 我一直在看,但它似乎没有正常工作,加上像总时间\u更新\u限制之类的东西有点神秘。

我一直试图通过使用获得进程CPU使用率,但我总是得到0的值,即使它应该更高

我每秒钟都在计时器上做这件事:

Sigar sigar = new Sigar();
long pid = find.find("Exe.Name.ct=myprocess.exe");

ProcCpu cpu = sigar.getProcCpu(pid);
System.out.println(cpu.getPercent());
我一直在看,但它似乎没有正常工作,加上像
总时间\u更新\u限制
之类的东西有点神秘。 我也看了一下,但它没有给我提供任何新的东西

在使用Sigar之前,是否有人尝试过监视进程CPU? 实现它的方法是什么

谢谢。

像这样使用它

public static void main(String args[]) {
    try {
        final Sigar sigar = new Sigar();
        while (true) {
            ProcCpu cpu = sigar.getProcCpu("Exe.Name.ct=eclipse.exe");
            System.out.println(cpu.getPercent());
        }
    } catch (SigarException ex) {
        ex.printStackTrace();
    }

}
这是我得到的一个示例输出

0.0
0.11450381679389313
0.12213740458015267
0.10714285714285714
0.0
0.0
0.0
有时,某些进程总是消耗零百分比的CPU。因此,转到任务管理器,找到一个CPU使用率高的进程,并将该进程的exe放到代码中的相关位置