Java 简单好用的OS资源监控开源工具Hyperic SIGAR

tag: Java 查看系统资源

sigar的全名是System Information Gatherer And Reporter,中文名是系统信息收集和报表工具。sigar是一个开源的工具,底层接口用C语言实现,提供了跨平台的系统信息收集的API,可以运行在绝大多数的操作系统版本中。sigar可以收集的信息包括:

1.操作系统的信息,包括:dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendorName、vendorCodeName;
2.CPU信息,包括:基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait);
3.内存信息,物理内存和交换内存的总数、使用数、剩余数、RAM的大小;
4.进程信息,包括每个进程的内存、CPU占用数、状态、参数、句柄等;
5.文件系统信息,包括名称、容量、剩余数、使用数、分区类型等;
6.网络接口信息,包括基本信息和统计信息;
7.网络路由和链接表信息。

虽然sigar提供了这么多功能,但它的使用并没有因为有这么多的功能而变得复杂,而是相当容易使用,究竟有多容易?看下面的例子吧:

package info.soluo.demo.sigar;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
	public class Demo { 
	public static void main(String[] args) throws Exception{
 	Sigar sigar = new Sigar(); 
	Mem mem = sigar.getMem(); 
	CpuPerc cpuCerc = sigar.getCpuPerc();
	 System.out.println("*****当前CPU使用情况 :");
 	System.out.println("#总使用率: " + cpuCerc.getCombined()*100 +"%");
 	System.out.println("#用户使用率(user): " + cpuCerc.getUser()*100 +"%");
 	System.out.println("#系统使用率(sys): " + cpuCerc.getSys()*100 +"%");
 	System.out.println("#优先进程占用(nice): " + cpuCerc.getNice()*100 +"%"); 
	System.out.println("#当前空闲率(idel): " + cpuCerc.getIdle()*100 +"%"); 
	System.out.println("\n*****当前内存使用情况 :"); 
	System.out.println("#内存总量:" + mem.getTotal() /1024/1024 +"M"); 
	System.out.println("#已使用内存:" + mem.getUsed() /1024/1024 +"M"); 
	System.out.println("#剩余内存:" + mem.getFree() /1024/1024 +"M");
	 }
	}


下面是在我机器上的执行结果:

*****当前CPU使用情况 :
#总使用率: 13.084112149532709%
#用户使用率(user): 10.2803738317757%
#系统使用率(sys): 2.803738317757009%
#优先进程占用(nice): 0.0%
#当前空闲率(idel): 86.91588785046729%

*****当前内存使用情况 :
#内存总量:2013M
#已使用内存:1961M
#剩余内存:51M<

要让上面的例子成功的打印出结果来,你只需做以下简单的事情:

1. 下载sigar的jar和库文件(dll或so文件);
2. 根据你的系统,把相应的库文件加入到系统中,记得放对版本哦,否则的话,结果是无法出来的;
3. 在你的工程里加入sigar.jar;
4. 对着api来做你需要的功能吧。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值