window下,使用java sigar 获取磁盘使用率,cpu使用率以及内存使用情况等信息时。
一:首先需要下载jar包和相关文件
如果想了解更多可以去
二:将压缩包解压,然后复制目录下的 hyperic-sigar-1.6.4\sigar-bin\lib\sigar-amd64-winnt.dll 文件。
注意:根据自己的电脑选择正确的 sigar.dll 文件,我的电脑是64位的。
三:将sigar-amd64-winnt.dll 文件放在你本机jdk的bin目录下(如:我本机jdk的bin目录为E:\JAVA\jdk\jdk1.8.0_25\bin)。
四:将解压后目录下的hyperic-sigar-1.6.4\sigar-bin\lib\sigar.jar包,导入到你的项目中。
若是maven项目,那么配置如下引入
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
</dependency>
就会自动下载了。
五:最后复制下面这段代码:
package com.example.demo; 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 Test { 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(); } } private static void property() throws UnknownHostException { Runtime r = Runtime.getRuntime(); Properties props = System.getProperties(); InetAddress addr; addr = InetAddress.getLocalHost(); String ip = addr.getHostAddress(); Map<String, String> map = System.getenv(); String userName = map.get("USERNAME");