分享

Sigar获取系统信息

 yetao_study 2013-12-25
  直接看代码:
  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./xml/ns/j2ee" xmlns:xsi="http://www./2001/XMLSchema-instance" xsi:schemaLocation="http://java./xml/ns/j2ee http://java./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



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多