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>


[url=http://www.51.la/?1613417][img]http://img.users.51.la/1613417.asp[/img][/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值