在WEB应用中获取系统信息

1.import java.io.IOException;   
2.import java.io.PrintWriter;   
3.  
4.import javax.servlet.ServletException;   
5.import javax.servlet.http.HttpServlet;   
6.import javax.servlet.http.HttpServletRequest;   
7.import javax.servlet.http.HttpServletResponse;   
8.  
9.import org.hyperic.sigar.Cpu;   
10.import org.hyperic.sigar.CpuPerc;   
11.import org.hyperic.sigar.Mem;   
12.import org.hyperic.sigar.Sigar;   
13.import org.hyperic.sigar.Swap;   
14.  
15.public class SigarServlet extends HttpServlet {   
16.  
17.    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   
18.           
19.        try {   
20.            Sigar sigar = new Sigar();   
21.            CpuPerc perc = sigar.getCpuPerc();   
22.            Mem mem = sigar.getMem();   
23.            Swap swap = sigar.getSwap();   
24.               
25.            int cpuUsage = (int)perc.getCombined();   
26.            int memFree = (int)(mem.getFree()/(1024l*1024l));   
27.            int memTotal = (int)(mem.getTotal()/(1024l*1024l));   
28.               
29.            int pageFileFree = (int)(swap.getPageOut()/(1024l*1024l));   
30.            int pageFileTotal = (int)(swap.getPageIn()/(1024l*1024l));   
31.            int swapFree = (int)(swap.getFree()/(1024l*1024l));   
32.            int swapTotal = (int)(swap.getTotal()/(1024l*1024l));   
33.               
34.               
35.            response.setContentType("text/html;charset=GB2312");   
36.            PrintWriter out = response.getWriter();   
37.  
38.            Cpu cpu = sigar.getCpu();   
39.               
40.            out.println("CPU Usage:"+perc.getCombined());   
41.            out.println("<br/>");   
42.            out.println("Memory Free:"+memFree);   
43.            out.println("<br/>");   
44.            out.println("Memory Total:"+memTotal);   
45.            out.println("<br/>");   
46.            out.println("Swap Free:"+swapFree);   
47.            out.println("<br/>");   
48.            out.println("Swap Total:"+swapTotal);   
49.            out.println("<br/>");   
50.            out.println("Page Free:"+pageFileFree);   
51.            out.println("<br/>");   
52.            out.println("Page Total:"+pageFileTotal);   
53.  
54.            out.close();   
55.  
56.        } catch (Exception e) {   
57.               
58.        }   
59.    }   
60.  
61.}  

 

配置:

1.<?xml version="1.0" encoding="UTF-8"?>  
2.<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">  
3.    <display-name>sigar</display-name>  
4.    <servlet>  
5.       <servlet-name>sigarServlet</servlet-name>  
6.       <servlet-class>sigar.SigarServlet</servlet-class>  
7.    </servlet>  
8.       
9.    <servlet-mapping>  
10.        <servlet-name>sigarServlet</servlet-name>  
11.        <url-pattern>/sigar</url-pattern>  
12.    </servlet-mapping>  
13.       
14.    <welcome-file-list>  
15.        <welcome-file>index.html</welcome-file>  
16.        <welcome-file>index.htm</welcome-file>  
17.        <welcome-file>index.jsp</welcome-file>  
18.        <welcome-file>default.html</welcome-file>  
19.        <welcome-file>default.htm</welcome-file>  
20.        <welcome-file>default.jsp</welcome-file>  
21.    </welcome-file-list>  
22.</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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值