取得CPU的基本信息和使用率

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

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

下面通过例子说明用法:

1.package lab.sigar;   
2.  
3.import org.hyperic.sigar.Cpu;   
4.import org.hyperic.sigar.CpuInfo;   
5.import org.hyperic.sigar.CpuPerc;   
6.import org.hyperic.sigar.Sigar;   
7.import org.hyperic.sigar.SigarException;   
8.  
9.import com.thoughtworks.xstream.XStream;   
10.  
11./**  
12. * Cpu数据  
13. *   
14. * 使用Sigar获得CPU的基本信息、使用百分比、使用时间  
15. *   
16. */  
17.public class CpuData {   
18.    private CpuInfo info;   
19.    private CpuPerc perc;   
20.    private Cpu timer;   
21.  
22.    public CpuData() {   
23.    }   
24.  
25.    public void populate(Sigar sigar) throws SigarException {   
26.        info = sigar.getCpuInfoList()[0];   
27.        perc = sigar.getCpuPerc();   
28.        timer = sigar.getCpu();   
29.    }   
30.  
31.    public static CpuData gather(Sigar sigar) throws SigarException {   
32.        CpuData data = new CpuData();   
33.        data.populate(sigar);   
34.        return data;   
35.    }   
36.  
37.    public static void main(String[] args) throws Exception {   
38.        Sigar sigar = new Sigar();   
39.        CpuData cpuData = CpuData.gather(sigar);   
40.        XStream xstream = new XStream();   
41.        xstream.alias("CpuData", CpuData.class);   
42.        System.out.println(xstream.toXML(cpuData));   
43.    }   
44.  
45.}  

 

输出:

1.<CpuData>  
2.  <info>  
3.    <vendor>Intel</vendor>  
4.    <model>Pentium M</model>  
5.    <mhz>1862</mhz>  
6.    <cacheSize>-1</cacheSize>  
7.  </info>  
8.  <perc>  
9.    <user>0.12574850299401197</user>  
10.    <sys>0.031936127744510975</sys>  
11.    <nice>0.0</nice>  
12.    <idle>0.8423153692614771</idle>  
13.    <wait>0.0</wait>  
14.  </perc>  
15.  <timer>  
16.    <user>932250</user>  
17.    <sys>520375</sys>  
18.    <nice>0</nice>  
19.    <idle>6366031</idle>  
20.    <wait>0</wait>  
21.    <total>7818656</total>  
22.  </timer>  
23.</CpuData>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值