使用sigar其实很简单,首先要在项目中添加sigar.jar以及对应系统的
库文件(xp为例,添加pdh.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib)
sigar包以及库文件下载地址:http://download.csdn.net/source/2344017
//接口定义
public interface LoadInfo {
//获取cpu使用率
public String getCpuInfo();
// 获取系统内存使用量
public String getRamInfo();
//获取网络使用流量
public String getNetworkInfo();
//获取操作系统信息
public String getSystemInfo();
// 获取运行环境信息
public String getRunLoadInfo();
//获取虚拟机剩余内存
public String getVmRamInfo();
}
//以下是接口的实现
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.Properties;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.NetInterfaceStat;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.SigarNotImplementedException;
public class LoadInfoImpl implements LoadInfo {
/**
* 创建sigar对象用来获取系统信息
*/
private Sigar sigar = new Sigar();;
private CpuPerc cpuCerc;
private Properties props = System.getProperties();
private Mem mem;
public String getCpuInfo() {
try {
/**
* 获取cpu信息
*/
cpuCerc = sigar.getCpuPerc();
/**
* 保留两位小数
*/
DecimalFormat df = new DecimalFormat("#.00");
/**
* 如果cpu使用率为零时,不保留小数位
*/
if (cpuCerc.getCombined() == 0) {
return 0 + "%";
} else {
return df.format(cpuCerc.getCombined() * 100) + "%";
}
} catch (SigarException e) {
e.printStackTrace();
}
return String.valueOf(cpuCerc.getCombined());
}
public String getRamInfo() {
try {
/**
* 获取系统内存信息
*/
mem = sigar.getMem();
} catch (SigarException e) {
e.printStackTrace();
}
/**
* 返回系统内存使用量
*/
return mem.getUsed() / 1024 / 1024 + "M";
}
public String getNetworkInfo() {
String ifNames[]=null;
String txbyte=null;
try {
ifNames = sigar.getNetInterfaceList();
} catch (SigarException e2) {
e2.printStackTrace();
}
String name = ifNames[0];
try {
/**
* 获取网络流量
*/
NetInterfaceStat ifstat = sigar.getNetInterfaceStat(name);
/**
* 获取发送的总字节数
*/
txbyte=ifstat.getTxBytes()+"byte";
} catch (SigarNotImplementedException e) {
} catch (SigarException e) {
System.out.println(e.getMessage());
}
return txbyte;
}
public String getSystemInfo() {
/**
* 获取操作系统名称
*/
return props.getProperty("os.name");
}
public String getRunLoadInfo() {
/**
* 获取运行环境信息
*/
String runload=props.getProperty("java.vm.name");
return runload;
}
public String getVmRamInfo() {
/**
* 获取虚拟机剩余内存
*/
return Runtime.getRuntime().freeMemory() / (1024 * 1024) + "M";
}
}
分享到:
相关推荐
export.sugar百度大屏sugar模版下载
I started this book with the intention of bringing a new side of SugarCRM to light. Since I began working at SugarCRM, I saw the flexibility and extensibility that the application could provide. I ...
sugarcrm developer guide en sugarcrm developer guide en sugarcrm developer guide en
Sugar QCT_SP
sugar.zip,使用MotionLayout实现高德地图bottomSheets效果
Soft Sugar
SugarCRM v3.5.1c 简体中文版 See the Installation Guide found on SugarForge.org for installation steps of Sugar Open Source. http://www.sugarcrm.com/crm/documentation.html How to Install a Sugar Patch ...
packt_用开源项目快速建站实践丛书之SugarCRM
Sugar是一个价格合理并且容易使用的企业级CRM,Sugar的设计初衷是为了帮助您的企业于千载客户沟通,共享销售信息,促成交易以及保持客户开心。 数千家企业每天使用Sugar去管理销售,市场和客户支持。 作为一个开源,...
sugarcrm原版教程,国内现在sugarcrm的教程较少,网页上很多翻译粗看比较难理解,如果要系统了解,这个是很不错的教程。
SugarCRM ver 说明 SugarCRM Community Edition SugarCRM Professinal Edition SugarCRM Enterprise Edition
Android数据库框架——Sugar
第1步:记事本打开.\htdocs\sugarcrm下config.php, 找到行'en_us' => 'US English',复制该行,增加一行修改为 'zh_cn' => '简体中文(中国)';最好用ultraEdit打开后,保存,若不符合php语法,就会服务器不能访问!...
sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引sugar操作指引
My Portal模块允许管理员和用户区连接其他的网站和web应用程序到Sugar User Interface,让sugar成为它的用户的一个一个统一的接口。 sugar时间建立在包括php开发环境,Mysql关系数据库,apache或者IIS web服务器和...
Sugarcrm开发指南英文版共享 很好的crm应用
糖工具包Sugar Toolkit提供服务和一组GTK +小部件,以在基于Linux的计算机上构建活动和其他Sugar组件。 这是Sugar Toolkit的GTK + 3绑定。 在Debian或Ubuntu上安装安装时自动完成。 要在没有Sugar桌面的情况下单独...
前端项目-sugar,用于处理本机对象的JavaScript库。
SugarCRM开源版是一款完全开放源代码的免费软件,具有 界面活泼、简单易学的特点。美国SugarCRM公司是一间创立时间不到三年、但迅速在全球范围取得一定影响的客户关系管理软件厂商。其基本的商业策略是:一边销售...
sugar Android数据库框架jar包,欢迎同学们下载,sugar 框架用起来方便很多