我们经常有这样的需求,想得到系统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”(Process ID,PID...
在Windows系统中,我们可以使用"系统信息"工具,或者通过命令行工具如`systeminfo`来查看服务器的基本信息,包括CPU、内存、硬盘、网络适配器等配置。而在Linux系统中,`cat /proc/cpuinfo`显示CPU信息,`free -m`...
在深入探讨FPGA CPU的概念及其在未来嵌入式系统中的应用之前,有必要先了解FPGA(现场可编程门阵列)和CPU(中央处理单元)的基本概念及其发展历程。 FPGA是一种通过编程实现硬件功能的半导体设备,具有灵活性高、...
1. **调整学习率**:增大初始学习率,或者使用学习率衰减策略,如指数衰减或余弦退火,以帮助模型跳出局部最优。 2. **重采样**:平衡数据集,比如使用过采样技术增加少数类样本,或者欠采样减少多数类样本,确保每...
【专转本计算机基本知识点总结】\n\n本章主要涵盖了信息技术基础、微电子技术和通信技术的核心概念,这些是计算机科学和技术的基础。\n\n1. 信息技术基础:\n信息技术(IT)是人类为了增强信息处理能力而发展的一...
设备管理,其任务是为各种设备提供良好的用户接口,使用各种调度策略以用缓冲和虚拟设备等技术,协调系统中各部分的工作,提高设备效率和利用率;文件管理,主要是对计算机系统中由软件和数据资源构成的文件进行管理...
在探讨为何CPU(中央处理器)制造中优先选择硅而不是锗的原因时,我们首先要了解硅和锗在半导体行业中的基本特性和应用。 首先,硅是最常见的半导体材料。硅的自然来源丰富,主要以沙子的形式存在,通过提炼可以...
3. 性能优化:监控和优化连接处理、内存管理和CPU使用率,确保服务端在高并发环境下也能稳定运行。 4. 资源管理:有效地管理客户端连接,避免过多的空闲连接占用资源。 5. 扩展性:设计服务端架构时,应考虑到未来...
《ANSYS基本过程手册》是指导用户理解和操作ANSYS软件的重要参考资料,涵盖了ANSYS建模、加载、求解、后处理、图形处理器使用、文件和文件管理以及内存管理与配置等多个核心环节。以下是对这些关键知识点的详细阐述...
全国计算机一级基础知识主要涵盖计算机的发展历程、特点、用途、分类,以及计算机硬件的组成和信息单位。在准备考试时,考生应重点关注以下...同时,通过做题和模拟测试提高选择题的正确率,确保在考试中取得理想成绩。
我们需要获取到这些进程的详细信息,如进程ID、CPU使用率、内存占用等。 3. **ListView控件操作**: `ListView`控件提供了多种消息(如`LVM_GETITEMCOUNT`, `LVM_GETITEM`, `LVM_GETITEMTEXT`等)来获取控件中的数据...
计算机信息管理技术的引入,特别是仓库管理系统(WMS)的出现,有效地解决了这个问题,提高了仓库管理的精确度和速度,减少了人力成本和错误率。 开发仓库管理系统的主要目标是提高中小型企业的库存管理水平,降低...
在资源占用率和数据检索时间方面,基于数据挖掘改革后的系统相比传统辅助课堂教学,CPU占用率显著下降,数据检索和下载反应速度得到了大幅提升。这说明系统在信息处理的流畅性上有了显著改进,提高了计算机辅助教学...
除了数据库层面的问题外,还需要考虑操作系统(OS)层面上可能存在的瓶颈,例如 CPU 使用率过高、内存不足或 I/O 限制等问题。 #### 六、优化所需的成分 根据前面几步的分析结果,对应用程序、数据库配置、I/O 子...
- **TOP3动态展示**:展示CPU使用率、内存使用率、网络流量使用排名前三的信息。 - **存储空间动态展示**:监控存储空间使用情况。 - **定制化展示**:根据需求提供大屏定制化设计。 - **拓扑管理**:通过独特...
江苏省计算机一级考试理论题主要涵盖信息技术的基础概念、集成电路的分类与发展、通信技术、模拟传播技术、...学习这些内容有助于理解信息技术的基本原理,对日常工作中涉及的信息处理和通信技术的理解也有很大帮助。
1. 计算机基础知识:这部分内容涵盖了计算机的基本组成、操作系统的基本概念、互联网的基本使用等。考生需要了解计算机硬件(如CPU、内存、硬盘等)和软件(如操作系统、办公软件)的基本知识。 2. 文档处理:一级B...
操作系统是计算机系统的核心组成部分,它的主要目标包括提供用户便利性,提高软硬件资源的利用率,...通过深入学习操作系统的基本概念和技术,学生能够更好地理解和解决实际问题,从而在未来的IT职业生涯中取得成功。
2. **动态调整参数**:动态改变信息素蒸发率和启发式信息权重,使算法在全局搜索和局部搜索之间取得平衡。 3. **精英策略**:保留部分历史最优解,以避免优秀路径的丢失。 4. **并行化处理**:利用多核CPU或GPU...