`

取得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>  

 

分享到:
评论

相关推荐

    计算机理论第一章详细透彻 支持格式WORD

    另外SIM卡就是一种特殊的CPU卡,他存储了用户身份信息还有号码和短信等。 IC卡按使用方式分为1,接触式IC卡,其表面有方形镀金接口,共8或者6个镀金触点,使用必须插入读卡机卡口内,通过金属触点传输数据,这样的IC...

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...

    delphi 开发经验技巧宝典源码

    0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算...

    delphi 开发经验技巧宝典源码06

    0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算...

    管控孩子PC的相关程序

    'cpu_usage', 返回当前cpu利用率 'mem_usage', 返回当前内存利用率 'dimm_info',返回当前物理内存条情况 'msg', 发指定的文本消息给孩子的电脑屏幕,并等待孩子点“确定” 'msgImm',发指定的文本消息给孩子的电脑...

    【7A文】服务器性能计算.docx

    考虑到系统操作系统CPU使用率为10%,因此系统整体负载不能高于70%。 【7A文】服务器性能计算全文共6页,当前为第2页。 【7A文】服务器性能计算全文共6页,当前为第2页。 根据tpmC标准是根据标准模型中New-Order事物...

    chrome.exe

    本软件的程式码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)...

    Google Chrome 6.0.451.0 Dev 版(一个由Google公司开发的网页浏览器)

    本软件的代码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。 ...

    百为软路由

    根据使用的操作不同可以分为基于windows平台和基于Linux/bsd平台开发的软件路由器,基于Windows平台的软件防火墙比较常见的有ISA Server、Winroute Firewall等,这些软件都是商业化的,通常根据授权用户数不同收费而...

    C/C++笔试题(附答案,华为面试题系列)

    3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独 立的运行部分,这样的程序会利于理解和修改。 其他情况都使用单线程。 11.Windows是内核...

    Linux操作系统基础教程

    者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样, 2需要为购满许可证付出高价还要受到系统安装数量的限制。我在讲义的最后面附有 GPL 的 非官方中文译稿。目前 Linux 中国的...

    易语言程序免安装版下载

    注意:静态编译后的易语言EXE和DLL之间不能再共享“某些”句柄或资源,这一点和原动态连接时的程序行为不能保持一致,使用时请务必设法避免此类用法(MYSQL支持库我们作了特别处理)。 注意:静态编译后常量数据...

    计算机应用技术(实用手册)

    AMI公司2006年开发的BIOS版本信息,华硕主板采用的CMOS并修正了 0507芯片,CPU 为 英特尔 酷睿技术双核 型号为6400 主频为2.13GHz,总共处理速度为4.01GHz Press DEL TO run Setup 按del进入CMOS Press f8 for bbs ...

    华为编程开发规范与案例

    在新的编程思想中,指针基本上被禁止使用(JAVA中就是这样),至少也是被限制使用。而在我们交换机的程序中大量使用指针,并且有增无减。 2、防止指针/数组操作越界 【案例1.2.1】 在香港项目测试中,发现ISDN话机...

Global site tag (gtag.js) - Google Analytics