1 下载安装sigar-1.6.4.zip
使用java自带的包获取系统数据,容易找不到包,尤其是内存信息不够准确,所以选择使用sigar获取系统信息。
下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files
在自己的Java项目中引入sigar.jar
同时将对应的dll文件或者so文件添加到系统目录。例如:windows下把sigar-x86-winnt.dll(图中三个文件)添加到 c:\WINDOWS\system32或者jdk的bin目录。(如果放到c:\WINDOWS\system32下没用,就放到jdk的bin目录下)
2 代码示例
- /**
- * @Title RuntimeTest.java
- * @Package osinfo
- * @Description
- * @date 2014-9-12 下午4:41:46
- * @version V1.0
- */
- package osinfo;
- import java.net.InetAddress;
- import java.net.UnknownHostException;
- import java.util.Map;
- import java.util.Properties;
- import org.hyperic.sigar.CpuInfo;
- import org.hyperic.sigar.CpuPerc;
- import org.hyperic.sigar.FileSystem;
- import org.hyperic.sigar.FileSystemUsage;
- import org.hyperic.sigar.Mem;
- import org.hyperic.sigar.NetFlags;
- import org.hyperic.sigar.NetInterfaceConfig;
- import org.hyperic.sigar.NetInterfaceStat;
- import org.hyperic.sigar.OperatingSystem;
- import org.hyperic.sigar.Sigar;
- import org.hyperic.sigar.SigarException;
- import org.hyperic.sigar.Swap;
- import org.hyperic.sigar.Who;
- public class RuntimeTest {
- public static void main(String[] args) {
- try {
- // System信息,从jvm获取
- property();
- System.out.println("----------------------------------");
- // cpu信息
- cpu();
- System.out.println("----------------------------------");
- // 内存信息
- memory();
- System.out.println("----------------------------------");
- // 操作系统信息
- os();
- System.out.println("----------------------------------");
- // 用户信息
- who();
- System.out.println("----------------------------------");
- // 文件系统信息
- file();
- System.out.println("----------------------------------");
- // 网络信息
- net();
- System.out.println("----------------------------------");
- // 以太网信息
- ethernet();
- System.out.println("----------------------------------");
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }