直接看代码:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hyperic.sigar.Cpu;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.Swap;
public class SigarServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
Sigar sigar = new Sigar();
CpuPerc perc = sigar.getCpuPerc();
Mem mem = sigar.getMem();
Swap swap = sigar.getSwap();
int cpuUsage = (int)perc.getCombined();
int memFree = (int)(mem.getFree()/(1024l*1024l));
int memTotal = (int)(mem.getTotal()/(1024l*1024l));
int pageFileFree = (int)(swap.getPageOut()/(1024l*1024l));
int pageFileTotal = (int)(swap.getPageIn()/(1024l*1024l));
int swapFree = (int)(swap.getFree()/(1024l*1024l));
int swapTotal = (int)(swap.getTotal()/(1024l*1024l));
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
Cpu cpu = sigar.getCpu();
out.println("CPU Usage:"+perc.getCombined());
out.println("<br/>");
out.println("Memory Free:"+memFree);
out.println("<br/>");
out.println("Memory Total:"+memTotal);
out.println("<br/>");
out.println("Swap Free:"+swapFree);
out.println("<br/>");
out.println("Swap Total:"+swapTotal);
out.println("<br/>");
out.println("Page Free:"+pageFileFree);
out.println("<br/>");
out.println("Page Total:"+pageFileTotal);
out.close();
} catch (Exception e) {
}
}
}
配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>sigar</display-name>
<servlet>
<servlet-name>sigarServlet</servlet-name>
<servlet-class>sigar.SigarServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sigarServlet</servlet-name>
<url-pattern>/sigar</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
需要的jar:
.sigar_shellrc
pdh.dll
sigar-1.5.0.1.jar
sigar-x86-winnt.dll
sigar-x86-winnt.lib
测试结果:
访问http://127.0.0.1:8080/sigar/sigar
CPU Usage:0.22815533980582525
Memory Free:863
Memory Total:2046
Swap Free:2048
Swap Total:4330
Page Free:0
Page Total:0
测试系统:windows Vista
注意其他系统需要引入sigar相关的库文件,具体看看sigar的网站:
http://hyperic-hq.sourceforge.net/
分享到:
相关推荐
sigar 取cpu,进程,内存,硬盘信息的实例代码
sigar获取系统CPU,内存,磁盘利用率的基本信息 里面附带一个完整的Demo供参考和适用!
首先给大家介绍一个开源工具Sigar 官网:...Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,由C语言实现的。可以收集的信息包括:
程序用到的jar 博文链接:https://wangrui.iteye.com/blog/153002
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API。 Sigar API 提供一个方便的接口来收集系统信息,如: ◆系统内存,页面交换,cpu,平均负载,运行时间,...
开源工具包 SIGAR System Information Gatherer And Reporter 即 系统信息收集和报告 官方站点: http: support hyperic com display SIGAR Home;jsessionid A9705887A07D20BBAC9A96500BC60822 SIGAR 官方站点 写道...
windows和linux系统使用sigar所需各个版本的扩展文件集合及版本对应文件说明,用于获取系统信息。
JAVA 获取服务器CPU、磁盘、用户连接、内存、操作系统、网络等数据信息 支持window、linux 操作系统,包含完整的依赖库文件 依赖文件:sigar.jar、sigar-amd64-winnt.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib
使用sigar获取系统信息,例如内存,cpu,磁盘大小,jvm虚拟机信息,内置jar包已及工具类,工具类写了注释,很详细。
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的。 Sigar资料地址:https://support.hyperic.com/display/SIGAR/Home Sigar提供了一...
系统信息监控sigar, jar包及libsigar-amd64-linux.so
sigar_mirror(系统信息收集API_Sigar)
利用Sigar获取系统信息.pdf
使用Sigar实现系统服务器端的监控,里面包括实现的代码以及用到的sigar所有的包和库
基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-sigar_mirror(系统信息收集API_Sigar).zip 基于java的开发源码-...
包括:libsigar-aarch64-linux.so、libsigar-amd64-linux.so、libsigar-x86-linux.so、sigar-amd64-winnt.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib
本工程用于演示借助Sigar API获取磁盘信息 本工程编码方式:UTF-8 本工程开发工具:MyEclipse
java源码:sigar_mirror(系统信息收集API_Sigar).rar