Sigar获取CPU的基本信息、使用率

我们经常有这样的需求,想得到系统CPU的基本信息、使用率等等。使用Sigar可以很好的完成这一需求。

通过Sigar我们可以获得CPU的基本信息有:vendor、model、mhz、cacheSize;CPU的统计信息有:user进程占用的百分比、sys进程占用的百分比、nice进程占用的百分比、idle进程占用的百分比、wait进程占用的百分比。

下面通过例子说明用法:

    package lab.sigar;  
      
    import org.hyperic.sigar.Cpu;  
    import org.hyperic.sigar.CpuInfo;  
    import org.hyperic.sigar.CpuPerc;  
    import org.hyperic.sigar.Sigar;  
    import org.hyperic.sigar.SigarException;  
      
    import com.thoughtworks.xstream.XStream;  
      
    /** 
     * Cpu数据 
     *  
     * 使用Sigar获得CPU的基本信息、使用百分比、使用时间 
     *  
     */  
    public class CpuData {  
        private CpuInfo info;  
        private CpuPerc perc;  
        private Cpu timer;  
      
        public CpuData() {  
        }  
      
        public void populate(Sigar sigar) throws SigarException {  
            info = sigar.getCpuInfoList()[0];  
            perc = sigar.getCpuPerc();  
            timer = sigar.getCpu();  
        }  
      
        public static CpuData gather(Sigar sigar) throws SigarException {  
            CpuData data = new CpuData();  
            data.populate(sigar);  
            return data;  
        }  
      
        public static void main(String[] args) throws Exception {  
            Sigar sigar = new Sigar();  
            CpuData cpuData = CpuData.gather(sigar);  
            XStream xstream = new XStream();  
            xstream.alias("CpuData", CpuData.class);  
            System.out.println(xstream.toXML(cpuData));  
        }  
      
    }  

输出:

    <CpuData>  
      <info>  
        <vendor>Intel</vendor>  
        <model>Pentium M</model>  
        <mhz>1862</mhz>  
        <cacheSize>-1</cacheSize>  
      </info>  
      <perc>  
        <user>0.12574850299401197</user>  
        <sys>0.031936127744510975</sys>  
        <nice>0.0</nice>  
        <idle>0.8423153692614771</idle>  
        <wait>0.0</wait>  
      </perc>  
      <timer>  
        <user>932250</user>  
        <sys>520375</sys>  
        <nice>0</nice>  
        <idle>6366031</idle>  
        <wait>0</wait>  
        <total>7818656</total>  
      </timer>  
    </CpuData>  

下载地址: Sigar相关jar下载地址     最新下载地址(包含类库)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值