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 代码示例
package com.jn.commons.quartz;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
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;
/**
* ClassName: SystemInfo <br/>
* Function: 获取服务器信息. <br/>
* Reason: TODO ADD REASON(可选). <br/>
* date: 2016年5月25日 下午3:50:13 <br/>
*
* @author liuweiying
* @version
* @since JDK 1.6
*/
public class SystemInfo {
public static final Logger logger = Logger.getLogger(SystemInfo.class);
public static void main(String[] args) {
try {
System.out.println(System.getProperty("java.library.path"));
System.out.println("-----------System信息,从jvm获取如下-----------------------");
// System信息,从jvm获取
property();
System.out.println("------------cpu信息如下----------------------");
// cpu信息
cpu();
System.out.println("------------内存信息如下----------------------");
// 内存信息
memory();
System.out.println("------------操作系统信息如下----------------------");
// 操作系统信息
os();
System.out.println("-------------用户信息如下---------------------");
// 用户信息
who();
System.out.println("--------------文件系统信息如下--------------------");
// 文件系统信息
file();
System.out.println("-----------网络信息如下-----------------------");
// 网络信息
net();
System.out.p