`

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

 

分享到:
评论

相关推荐

    根据进程ID获取进程的内存使用量,CPU使用率,线程个数据信息

    本文将深入探讨如何根据进程ID获取进程的内存使用量、CPU使用率以及线程个数,这些信息对于诊断系统性能问题、优化应用运行效率以及监控系统健康状态具有极大的价值。 首先,我们来理解“进程ID”(Process ID,PID...

    取得服务器信息

    在Windows系统中,我们可以使用"系统信息"工具,或者通过命令行工具如`systeminfo`来查看服务器的基本信息,包括CPU、内存、硬盘、网络适配器等配置。而在Linux系统中,`cat /proc/cpuinfo`显示CPU信息,`free -m`...

    FPGA CPU:下一代嵌入式系统.pdf

    在深入探讨FPGA CPU的概念及其在未来嵌入式系统中的应用之前,有必要先了解FPGA(现场可编程门阵列)和CPU(中央处理单元)的基本概念及其发展历程。 FPGA是一种通过编程实现硬件功能的半导体设备,具有灵活性高、...

    浅谈keras使用预训练模型vgg16分类,损失和准确度不变

    1. **调整学习率**:增大初始学习率,或者使用学习率衰减策略,如指数衰减或余弦退火,以帮助模型跳出局部最优。 2. **重采样**:平衡数据集,比如使用过采样技术增加少数类样本,或者欠采样减少多数类样本,确保每...

    专转本计算机基本知识点总结大全.pdf

    【专转本计算机基本知识点总结】\n\n本章主要涵盖了信息技术基础、微电子技术和通信技术的核心概念,这些是计算机科学和技术的基础。\n\n1. 信息技术基础:\n信息技术(IT)是人类为了增强信息处理能力而发展的一...

    最新计算机三级数据库基本概念的名词解释.doc

    设备管理,其任务是为各种设备提供良好的用户接口,使用各种调度策略以用缓冲和虚拟设备等技术,协调系统中各部分的工作,提高设备效率和利用率;文件管理,主要是对计算机系统中由软件和数据资源构成的文件进行管理...

    CPU用硅不用锗 原因有哪些?

    在探讨为何CPU(中央处理器)制造中优先选择硅而不是锗的原因时,我们首先要了解硅和锗在半导体行业中的基本特性和应用。 首先,硅是最常见的半导体材料。硅的自然来源丰富,主要以沙子的形式存在,通过提炼可以...

    Delphi实现的WebSocket服务端

    3. 性能优化:监控和优化连接处理、内存管理和CPU使用率,确保服务端在高并发环境下也能稳定运行。 4. 资源管理:有效地管理客户端连接,避免过多的空闲连接占用资源。 5. 扩展性:设计服务端架构时,应考虑到未来...

    ansys基本过程手册

    《ANSYS基本过程手册》是指导用户理解和操作ANSYS软件的重要参考资料,涵盖了ANSYS建模、加载、求解、后处理、图形处理器使用、文件和文件管理以及内存管理与配置等多个核心环节。以下是对这些关键知识点的详细阐述...

    全国计算机一级基础知识.pdf

    全国计算机一级基础知识主要涵盖计算机的发展历程、特点、用途、分类,以及计算机硬件的组成和信息单位。在准备考试时,考生应重点关注以下...同时,通过做题和模拟测试提高选择题的正确率,确保在考试中取得理想成绩。

    VC 获取任务管理器进程项ListView控件内的内容

    我们需要获取到这些进程的详细信息,如进程ID、CPU使用率、内存占用等。 3. **ListView控件操作**: `ListView`控件提供了多种消息(如`LVM_GETITEMCOUNT`, `LVM_GETITEM`, `LVM_GETITEMTEXT`等)来获取控件中的数据...

    仓库管理系统需求说明介绍模板之欧阳数创编.pdf

    计算机信息管理技术的引入,特别是仓库管理系统(WMS)的出现,有效地解决了这个问题,提高了仓库管理的精确度和速度,减少了人力成本和错误率。 开发仓库管理系统的主要目标是提高中小型企业的库存管理水平,降低...

    基于数据挖掘的计算机辅助课堂教学系统设计分析.pdf

    在资源占用率和数据检索时间方面,基于数据挖掘改革后的系统相比传统辅助课堂教学,CPU占用率显著下降,数据检索和下载反应速度得到了大幅提升。这说明系统在信息处理的流畅性上有了显著改进,提高了计算机辅助教学...

    oracle性能优化的基本方法概述

    除了数据库层面的问题外,还需要考虑操作系统(OS)层面上可能存在的瓶颈,例如 CPU 使用率过高、内存不足或 I/O 限制等问题。 #### 六、优化所需的成分 根据前面几步的分析结果,对应用程序、数据库配置、I/O 子...

    hydo智能运维大数据管理平台-宣传画册word.docx

    - **TOP3动态展示**:展示CPU使用率、内存使用率、网络流量使用排名前三的信息。 - **存储空间动态展示**:监控存储空间使用情况。 - **定制化展示**:根据需求提供大屏定制化设计。 - **拓扑管理**:通过独特...

    江苏省计算机一级考试理论题大全.doc

    江苏省计算机一级考试理论题主要涵盖信息技术的基础概念、集成电路的分类与发展、通信技术、模拟传播技术、...学习这些内容有助于理解信息技术的基本原理,对日常工作中涉及的信息处理和通信技术的理解也有很大帮助。

    近年来的江苏省一级B真题附带答案

    1. 计算机基础知识:这部分内容涵盖了计算机的基本组成、操作系统的基本概念、互联网的基本使用等。考生需要了解计算机硬件(如CPU、内存、硬盘等)和软件(如操作系统、办公软件)的基本知识。 2. 文档处理:一级B...

    操作系统章习题讲解操作系统期中考试讲评PPT学习教案.pptx

    操作系统是计算机系统的核心组成部分,它的主要目标包括提供用户便利性,提高软硬件资源的利用率,...通过深入学习操作系统的基本概念和技术,学生能够更好地理解和解决实际问题,从而在未来的IT职业生涯中取得成功。

    基于ACO用matlab写的TSP程序

    2. **动态调整参数**:动态改变信息素蒸发率和启发式信息权重,使算法在全局搜索和局部搜索之间取得平衡。 3. **精英策略**:保留部分历史最优解,以避免优秀路径的丢失。 4. **并行化处理**:利用多核CPU或GPU...

Global site tag (gtag.js) - Google Analytics