# sigar-system_runtime **Repository Path**: GavignZh/sigar-system_runtime ## Basic Information - **Project Name**: sigar-system_runtime - **Description**: 基于java通过第三方jar包sigar的支持,完成对服务器系统的参数监控,包括CPU、内存、硬盘以及网络流量的实时监控 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-10-18 - **Last Updated**: 2021-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java利用sigar.jar获取服务器运行时CPU、内存、网络等信息 详细使用帮助:http://www.i3geek.com/archives/1184 ## 介绍 利用java程序检查服务器或主机的运行时信息,包括操作系统、CPU使用情况、内存使用情况、硬盘使用情况以及网卡、网络信息。主要的办法有两种:第一种,使用jdk1.6以上自动的功能,实现数据的获取,但是该方法局限性较大,而且获得的数据也比较少,尤其是内存信息不够准确。所以,在此不讨论该方法。第二种,使用第三方的jar包进行获取,通过直接调用操作系统的api来获取系统相关数据。 本文则主要介绍一种通过Hyperic-hq产品的基础包sigar.jar来实现服务器状态数据的获取。Sigar.jar包是通过本地方法来调用操作系统API来获取系统相关数据。 ## 作用 实时监测服务器主机的物理信息,如CPU使用信息、内存使用信息、硬盘使用信息以及网卡和网络的使用情况。 ## 源码说明 com.system.runtime |-common | |-SystemRuntime.java | 操作实体类 |-pojo | |-systemStatusPojo.java | 存储系统实时状态的po |-service | |-systemStatusService.java | | RMI服务接口 | |-systemStatusServiceImpl.java | 服务的实现 |-main.java 主函数入口 demo |-sigar.java 官方示例 test |-Client.java 客户端测试 jar 生成的可以用jar包 lib 官方jar包以及底层支撑文件 ## 问题解答 ### 1、mac下eclipse中配置java.library.path Mac下,eclipse中的配置方法:项目右键->属性->java build path->选择Libraries中的sigar.jar->在展开的Native library location中选择底层文件所在目录即可 ### 2、网络传输速率 jar包中不提供网络传输速率的方法,需要采集两次,自行计算出传输速率 ### 3、局域网中无法连接 在网络传输中,当有多个网卡进行切换时,rmi会出现无法连接的错误。建议更换IP地址访问。 如:服务器处于两个局域网 192.168.191.* 和 172.29.131.* ,客户端处于 192.168.191.* 之中。当客户端连接192.168.191.* 时可用连接,但是响应超时。但是连接 172.29.131.* 时则可以正常使用