首页 > Java开发 > Sigar获取CPU的基本信息、使用率

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

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

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

下面通过例子说明用法:

[java][/java]

view plaincopy

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

输出:

[html][/html]

view plaincopy

  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>

本站下站sigar lib包

最新的Sigar官方包hyperic-sigar-1.6.4


本文固定链接: http://www.devba.com/index.php/archives/2766.html | 开发吧

报歉!评论已关闭.