我们经常有这样的需求,想得到系统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>
分享到:
相关推荐
程序用到的jar 博文链接:https://wangrui.iteye.com/blog/153002
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的。 Sigar资料地址:https://support.hyperic.com/display/SIGAR/Home Sigar提供了一...
它用来从许多平台收集系统和处理信息. 这些平台包括:Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX. Sigar有C,C#,Java和Perl API,java版的API为sigar.jar sigar.jar的底层是用C语言编写的,它通过...
windows和linux系统使用sigar所需各个版本的扩展文件集合及版本对应文件说明,用于获取系统信息。
系统信息监控sigar, jar包及libsigar-amd64-linux.so
本工程用于演示如何借助Sigar API获取CPU相关信息 本工程编码方式:UTF-8 本工程开发工具:MyEclipse
使用Sigar包获取操作系统底层信息
sigar获取系统CPU,内存,磁盘利用率的基本信息 里面附带一个完整的Demo供参考和适用!
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API。 Sigar API 提供一个方便的接口来收集系统信息,如: ◆系统内存,页面交换,cpu,平均负载,运行时间,...
sigar 取cpu,进程,内存,硬盘信息的实例代码
Windows操作系统下Sigar.jar依赖sigar-amd64-winnt.dll或sigar-x86-winnt.dll,linux 操作系统下则依赖libsigar-amd64-linux.so或libsigar-x86-linux.so……而Sigar.jar还依赖于jug-asl-2.0.0.jar、log4j-1.2.14.jar...
首先给大家介绍一个开源工具Sigar 官网:...Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,由C语言实现的。可以收集的信息包括:
sigar 找不到 so 可以下载 no libsigar-aarch64-linux.so in java.library.path
开源工具包 SIGAR System Information Gatherer And Reporter 即 系统信息收集和报告 官方站点: http: support hyperic com display SIGAR Home;jsessionid A9705887A07D20BBAC9A96500BC60822 SIGAR 官方站点 写道...
使用sigar类时会出现以下错误,此时将该相关文件放在lib下可解决问题
sigar_mirror(系统信息收集API_Sigar)
基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-...
java 获取服务器内存使用情况、cpu运行情况、使用效率等等硬件指标,所需的jar包、dll文件工具