Sigar获取系统信息
直接看代码:
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获取系统信息
地址 Hyperic-hq官方网站:http://www.hyperic.com Sigar.jar下载地址:http://sourceforge.net/projects/sigar/files/ ...
- java项目中使用Sigar获取系统信息
最近在做一个java web项目时,有监控服务器性能信息等的需求,比如cpu.mem.disk等使用信息,于是各种google,找到了Sigar这个工具. 简介 Sigar(System Inform ...
- 跨平台 获取系统信息的python库 http://support.hyperic.com/disp
跨平台 获取系统信息的python库 http://support.hyperic.com/disp - 张沈鹏,在路上... - ITeye技术网站 跨平台 获取系统信息的python库 http: ...
- Sigar 获取CPU和Memory内存等信息使用详解
一. Sigar详细介绍 Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的. ...
- Kettle使用_8 存储过程结合获取系统信息
Kettle使用_8 存储过程结合获取系统信息 需求: 通过传递给kettle位置参数的方式执行存储过程.其中存储过程的需求是往tb_user(字段user_id, name)里插入一条记录(覆盖式, ...
- Kettle使用_3变量替换之获取系统信息与命名参数
需求:SQL里定义动态的变量并能替换变量的值后将数据导入到文本文件中 解决方法:通过获取系统信息组件和SQL替换变量的参数来完成该功能 注: 可结合如下链接一起阅读: Kettle使用_29 转换里使 ...
- ansible获取linux信息,ansible 获取系统信息的一些范例,ansible系统信息
ansible 获取系统信息的一些范例,ansible系统信息 主机名:echo `ansible 193.168.120.101 -m setup -a "filter=ansible_h ...
- Golang实践录:获取系统信息
本文介绍获取系统信息的方法,另外给出根据不同系统编译的方法. 问题提出 由于多年来接触了不同系统的兼容工程,对使用宏区分不同的代码一直有一种莫名的感觉.像 Linux 内核中就有很多这样的代码,cor ...
- Java 获取系统信息
Java 获取系统信息可以用以下方法: public class testsysteminfo {public static void main(String[] args) {// TODO Aut ...
最新文章
- AI 女神李飞飞最新文章:发展人工智能应该以人为本
- Mybatis的一对多查询
- php mail ld preload,读《利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令》有感...
- python 内置模块 subprocess
- 机器人三定律真有用?但AI可能并不会遵守
- 【Elasticsearch】我们如何在 5 天内在同一个 Elasticsearch 集群中重新索引 360 亿份文档
- 问题 | kali系统隐藏sshd的banner信息
- Javascript特效:左侧二维码的显示和隐藏
- 用Python下载抖音无水印视频
- 如何HACK无线家用警报器?
- 利用python实现对豆瓣排名电影的信息获取
- level2行情对炒股有什么帮助?
- 游戏经典题目之十字激光炮
- 短视频课堂丨传统工厂企业短视频打造之“三好人设”
- 笔记本无线热点共享批处理bat_马立杰_新浪博客
- 订货宝 html源码,订货宝新功能,代客下单等一大波移动管理端功能
- VMware Horizon 8 2209 - 虚拟桌面基础架构 (VDI) 和应用软件
- 国内“孩子青春期”图书中的iPhone:正写书的程序员爸爸点评《拆解青春期女孩的小心事》
- 流氓并不可怕,就怕流氓有文化 -- 这是一个知识改变命运的例子
- 一.不同环境下C语言的编译
热门文章
- Packet Tracer - 配置扩展 ACL - 场景 1
- Jabra E85t蓝牙耳机同时连接2部手机
- Java中的锁-park/unpark
- 面试java项目中解决了什么问题,附源代码
- 使用moment计算两个日期的相差天数
- ar8171 linux网卡驱动,ar8171 8175网卡驱动(ar8171网卡驱动下载)V1.0.1 官方最新版
- MuiPlayer - 一款优秀的 H5 视频播放器框架
- 命令行错误提示--系统找不到指定的文件
- 信息学奥赛一本通C++语言——1139:整理药名
- linux write文件,关于linux:write文件一个字节后何时发起写磁盘IO