如何使用Sigar查找Java中的总CPU利用率

蓝色笔记本

我试图通过Java程序查找一些系统统计信息(CPU利用率,磁盘利用率和内存利用率)。为此,我一直在使用SIGAR。尽管(我认为)我正确地理解了后两个,但我却没有正确理解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();   
        }
    }




}

我始终获得0的CPUUtilization%,我认为这是不正确的。

蓝色笔记本

我对CpuTimer的解释不正确。我可以改为使用CpuPerc来查找CPU利用率。附加代码段:

public static void getSystemStatistics(){
    Mem mem = null;
    CpuPerc cpuperc = null;
    FileSystemUsage filesystemusage = null;
    try {
        mem = sigar.getMem();
        cpuperc = sigar.getCpuPerc();
        filesystemusage = sigar.getFileSystemUsage("C:");          
    } catch (SigarException se) {
        se.printStackTrace();
    }


    System.out.print(mem.getUsedPercent()+"\t");
    System.out.print((cpuperc.getCombined()*100)+"\t");
    System.out.print(filesystemusage.getUsePercent()+"\n");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Sigar查找Java中的CPU总利用率

来自分类Dev

CPU使用率及其利用率

来自分类Dev

计算CPU利用率

来自分类Dev

如何在终端(Mac)中获得以%为单位的CPU利用率

来自分类Dev

如何在Windows 8中提高进程的cpu利用率

来自分类Dev

如何在Windows 8中提高进程的cpu利用率

来自分类Dev

如何从 docker 容器中获取主机信息(CPU 利用率)?

来自分类Dev

如何获得Akka演员的CPU利用率

来自分类Dev

如何提高Xen来宾CPU利用率?

来自分类Dev

使用多处理模块时如何提高CPU利用率?

来自分类Dev

使用多处理模块时如何提高CPU利用率?

来自分类Dev

在MATLAB中显示CPU内核利用率

来自分类Dev

在C#中获取当前的CPU利用率

来自分类Dev

检查Linux中cpu利用率的脚本

来自分类Dev

设置Linux中CPU核心利用率的限制

来自分类Dev

计算LPAR CPU利用率(AIX)

来自分类Dev

调试Java应用程序会导致cpu利用率高

来自分类Dev

通过java客户端获取运行aws实例的CPU利用率指标

来自分类Dev

如何确定应用程序内的gc-cpu利用率?

来自分类Dev

如何提高在 for 循环中处理数据帧的 CPU 利用率?

来自分类Dev

Ubuntu 20.04顶部窗格中的CPU,内存利用率?

来自分类Dev

“ nice”值在CPU利用率统计信息中是什么意思

来自分类Dev

gettimeofday,QTime或QLabel-> setText中的100%CPU利用率

来自分类Dev

Ubuntu 20.04 顶部窗格中的 CPU、内存利用率?

来自分类Dev

使用mvapich2与openmpi比较MPI线程死锁期间的CPU利用率

来自分类Dev

为什么在Prometheus中使用irate或rate计算CPU利用率?

来自分类Dev

任务管理器:CPU利用率和速度?

来自分类Dev

CPU利用率高的原因是什么?

来自分类Dev

virsh迁移后100%CPU利用率并挂起

Related 相关文章

热门标签

归档