sigar获取Windows系统的硬件信息进行JAVA后台系统资源监控

时间:2022-02-17 21:09:53

  windows下,将sigar-amd64-winnt.dll复制到jdk的bin目录下或者拷贝到WEB-INF/lib下

  linux下,将libsigar-amd64-linux.so拷贝到jdk的bin目录下,或者拷贝到WEB-INF/lib下

  注意: 这些dll 和so  有不同的版本, 要和sigar的jar 版本一致, 否则会出现错误信息

下面是java  代码:

package com.yys.common.util;

/**
* User: 杨永生
* Date: 9:40 2018/5/10
* Email: kevin@hiibook.com
*/ /**
*
<dependency>
<groupId>org.hyperic</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
</dependency> */ import org.hyperic.sigar.*; import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties; public class OSUtil { 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");// 获取用户名
String computerName = map.get("COMPUTERNAME");// 获取计算机名
String userDomain = map.get("USERDOMAIN");// 获取计算机域名
System.out.println("用户名: " + userName);
System.out.println("计算机名: " + computerName);
System.out.println("计算机域名: " + userDomain);
System.out.println("本地ip地址: " + ip);
System.out.println("本地主机名: " + addr.getHostName());
System.out.println("JVM可以使用的总内存: " + r.totalMemory());
System.out.println("JVM可以使用的剩余内存: " + r.freeMemory());
System.out.println("JVM可以使用的处理器个数: " + r.availableProcessors());
System.out.println("Java的运行环境版本: " + props.getProperty("java.version"));
System.out.println("Java的运行环境供应商: " + props.getProperty("java.vendor"));
System.out.println("Java供应商的URL: " + props.getProperty("java.vendor.url"));
System.out.println("Java的安装路径: " + props.getProperty("java.home"));
System.out.println("Java的虚拟机规范版本: " + props.getProperty("java.vm.specification.version"));
System.out.println("Java的虚拟机规范供应商: " + props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虚拟机规范名称: " + props.getProperty("java.vm.specification.name"));
System.out.println("Java的虚拟机实现版本: " + props.getProperty("java.vm.version"));
System.out.println("Java的虚拟机实现供应商: " + props.getProperty("java.vm.vendor"));
System.out.println("Java的虚拟机实现名称: " + props.getProperty("java.vm.name"));
System.out.println("Java运行时环境规范版本: " + props.getProperty("java.specification.version"));
System.out.println("Java运行时环境规范供应商: " + props.getProperty("java.specification.vender"));
System.out.println("Java运行时环境规范名称: " + props.getProperty("java.specification.name"));
System.out.println("Java的类格式版本号: " + props.getProperty("java.class.version"));
System.out.println("Java的类路径: " + props.getProperty("java.class.path"));
System.out.println("加载库时搜索的路径列表: " + props.getProperty("java.library.path"));
System.out.println("默认的临时文件路径: " + props.getProperty("java.io.tmpdir"));
System.out.println("一个或多个扩展目录的路径: " + props.getProperty("java.ext.dirs"));
System.out.println("操作系统的名称: " + props.getProperty("os.name"));
System.out.println("操作系统的构架: " + props.getProperty("os.arch"));
System.out.println("操作系统的版本: " + props.getProperty("os.version"));
System.out.println("文件分隔符: " + props.getProperty("file.separator"));
System.out.println("路径分隔符: " + props.getProperty("path.separator"));
System.out.println("行分隔符: " + props.getProperty("line.separator"));
System.out.println("用户的账户名称: " + props.getProperty("user.name"));
System.out.println("用户的主目录: " + props.getProperty("user.home"));
System.out.println("用户的当前工作目录: " + props.getProperty("user.dir"));
} private static void memory() throws SigarException {
Sigar sigar = new Sigar();
Mem mem = sigar.getMem();
// 内存总量
System.out.println("内存总量: " + mem.getTotal() / 1024L + "K av");
// 当前内存使用量
System.out.println("当前内存使用量: " + mem.getUsed() / 1024L + "K used");
// 当前内存剩余量
System.out.println("当前内存剩余量: " + mem.getFree() / 1024L + "K free");
Swap swap = sigar.getSwap();
// 交换区总量
System.out.println("交换区总量: " + swap.getTotal() / 1024L + "K av");
// 当前交换区使用量
System.out.println("当前交换区使用量: " + swap.getUsed() / 1024L + "K used");
// 当前交换区剩余量
System.out.println("当前交换区剩余量: " + swap.getFree() / 1024L + "K free");
} private static void cpu() throws SigarException {
Sigar sigar = new Sigar();
CpuInfo infos[] = sigar.getCpuInfoList();
CpuPerc cpuList[] = null;
cpuList = sigar.getCpuPercList();
for (int i = 0; i < infos.length; i++) {// 不管是单块CPU还是多CPU都适用
CpuInfo info = infos[i];
System.out.println("第" + (i + 1) + "块CPU信息");
System.out.println("CPU的总量MHz: " + info.getMhz());// CPU的总量MHz
System.out.println("CPU生产商: " + info.getVendor());// 获得CPU的卖主,如:Intel
System.out.println("CPU类别: " + info.getModel());// 获得CPU的类别,如:Celeron
System.out.println("CPU缓存数量: " + info.getCacheSize());// 缓冲存储器数量
printCpuPerc(cpuList[i]);
}
} private static void printCpuPerc(CpuPerc cpu) {
System.out.println("CPU用户使用率: " + CpuPerc.format(cpu.getUser()));// 用户使用率
System.out.println("CPU系统使用率: " + CpuPerc.format(cpu.getSys()));// 系统使用率
System.out.println("CPU当前等待率: " + CpuPerc.format(cpu.getWait()));// 当前等待率
System.out.println("CPU当前错误率: " + CpuPerc.format(cpu.getNice()));//
System.out.println("CPU当前空闲率: " + CpuPerc.format(cpu.getIdle()));// 当前空闲率
System.out.println("CPU总的使用率: " + CpuPerc.format(cpu.getCombined()));// 总的使用率
} private static void os() {
OperatingSystem OS = OperatingSystem.getInstance();
// 操作系统内核类型如: 386、486、586等x86
System.out.println("操作系统: " + OS.getArch());
System.out.println("操作系统CpuEndian(): " + OS.getCpuEndian());//
System.out.println("操作系统DataModel(): " + OS.getDataModel());//
// 系统描述
System.out.println("操作系统的描述: " + OS.getDescription());
// 操作系统类型
// System.out.println("OS.getName(): " + OS.getName());
// System.out.println("OS.getPatchLevel(): " + OS.getPatchLevel());//
// 操作系统的卖主
System.out.println("操作系统的卖主: " + OS.getVendor());
// 卖主名称
System.out.println("操作系统的卖主名: " + OS.getVendorCodeName());
// 操作系统名称
System.out.println("操作系统名称: " + OS.getVendorName());
// 操作系统卖主类型
System.out.println("操作系统卖主类型: " + OS.getVendorVersion());
// 操作系统的版本号
System.out.println("操作系统的版本号: " + OS.getVersion());
} private static void who() throws SigarException {
Sigar sigar = new Sigar();
Who who[] = sigar.getWhoList();
if (who != null && who.length > 0) {
for (int i = 0; i < who.length; i++) {
// System.out.println("当前系统进程表中的用户名" + String.valueOf(i));
Who _who = who[i];
System.out.println("用户控制台: " + _who.getDevice());
System.out.println("用户host: " + _who.getHost());
// System.out.println("getTime(): " + _who.getTime());
// 当前系统进程表中的用户名
System.out.println("当前系统进程表中的用户名: " + _who.getUser());
}
}
} private static void file() throws Exception {
Sigar sigar = new Sigar();
FileSystem fslist[] = sigar.getFileSystemList();
try {
for (int i = 0; i < fslist.length; i++) {
System.out.println("分区的盘符名称" + i);
FileSystem fs = fslist[i];
// 分区的盘符名称
System.out.println("盘符名称: " + fs.getDevName());
// 分区的盘符名称
System.out.println("盘符路径: " + fs.getDirName());
System.out.println("盘符标志: " + fs.getFlags());//
// 文件系统类型,比如 FAT32、NTFS
System.out.println("盘符类型: " + fs.getSysTypeName());
// 文件系统类型名,比如本地硬盘、光驱、网络文件系统等
System.out.println("盘符类型名: " + fs.getTypeName());
// 文件系统类型
System.out.println("盘符文件系统类型: " + fs.getType());
FileSystemUsage usage = null;
usage = sigar.getFileSystemUsage(fs.getDirName());
switch (fs.getType()) {
case 0: // TYPE_UNKNOWN :未知
break;
case 1: // TYPE_NONE
break;
case 2: // TYPE_LOCAL_DISK : 本地硬盘
// 文件系统总大小
System.out.println(fs.getDevName() + "总大小: " + usage.getTotal() + "KB");
// 文件系统剩余大小
System.out.println(fs.getDevName() + "剩余大小: " + usage.getFree() + "KB");
// 文件系统可用大小
System.out.println(fs.getDevName() + "可用大小: " + usage.getAvail() + "KB");
// 文件系统已经使用量
System.out.println(fs.getDevName() + "已经使用量: " + usage.getUsed() + "KB");
double usePercent = usage.getUsePercent() * 100D;
// 文件系统资源的利用率
System.out.println(fs.getDevName() + "资源的利用率: " + usePercent + "%");
break;
case 3:// TYPE_NETWORK :网络
break;
case 4:// TYPE_RAM_DISK :闪存
break;
case 5:// TYPE_CDROM :光驱
break;
case 6:// TYPE_SWAP :页面交换
break;
}
System.out.println(fs.getDevName() + "读出: " + usage.getDiskReads());
System.out.println(fs.getDevName() + "写入: " + usage.getDiskWrites());
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} return;
} private static void net() throws Exception {
Sigar sigar = new Sigar();
String ifNames[] = sigar.getNetInterfaceList();
for (int i = 0; i < ifNames.length; i++) {
String name = ifNames[i];
NetInterfaceConfig ifconfig = sigar.getNetInterfaceConfig(name);
System.out.println("网络设备名: " + name);// 网络设备名
System.out.println("IP地址: " + ifconfig.getAddress());// IP地址
System.out.println("子网掩码: " + ifconfig.getNetmask());// 子网掩码
if ((ifconfig.getFlags() & 1L) <= 0L) {
System.out.println("!IFF_UP...skipping getNetInterfaceStat");
continue;
}
NetInterfaceStat ifstat = sigar.getNetInterfaceStat(name);
System.out.println(name + "接收的总包裹数:" + ifstat.getRxPackets());// 接收的总包裹数
System.out.println(name + "发送的总包裹数:" + ifstat.getTxPackets());// 发送的总包裹数
System.out.println(name + "接收到的总字节数:" + ifstat.getRxBytes());// 接收到的总字节数
System.out.println(name + "发送的总字节数:" + ifstat.getTxBytes());// 发送的总字节数
System.out.println(name + "接收到的错误包数:" + ifstat.getRxErrors());// 接收到的错误包数
System.out.println(name + "发送数据包时的错误数:" + ifstat.getTxErrors());// 发送数据包时的错误数
System.out.println(name + "接收时丢弃的包数:" + ifstat.getRxDropped());// 接收时丢弃的包数
System.out.println(name + "发送时丢弃的包数:" + ifstat.getTxDropped());// 发送时丢弃的包数
}
} private static void ethernet() throws SigarException {
Sigar sigar = null;
sigar = new Sigar();
String[] ifaces = sigar.getNetInterfaceList();
for (int i = 0; i < ifaces.length; i++) {
NetInterfaceConfig cfg = sigar.getNetInterfaceConfig(ifaces[i]);
if (NetFlags.LOOPBACK_ADDRESS.equals(cfg.getAddress()) || (cfg.getFlags() & NetFlags.IFF_LOOPBACK) != 0
|| NetFlags.NULL_HWADDR.equals(cfg.getHwaddr())) {
continue;
}
System.out.println(cfg.getName() + "IP地址:" + cfg.getAddress());// IP地址
System.out.println(cfg.getName() + "网关广播地址:" + cfg.getBroadcast());// 网关广播地址
System.out.println(cfg.getName() + "网卡MAC地址:" + cfg.getHwaddr());// 网卡MAC地址
System.out.println(cfg.getName() + "子网掩码:" + cfg.getNetmask());// 子网掩码
System.out.println(cfg.getName() + "网卡描述信息:" + cfg.getDescription());// 网卡描述信息
System.out.println(cfg.getName() + "网卡类型" + cfg.getType());//
}
}
}

输出结果:

用户名:    hiibook
计算机名: HIIBOOK-PC
计算机域名: hiibook-PC
本地ip地址: 192.168.1.100
本地主机名: hiibook-PC
JVM可以使用的总内存: 64487424
JVM可以使用的剩余内存: 62473552
JVM可以使用的处理器个数: 2
Java的运行环境版本: 1.8.0_121
Java的运行环境供应商: Oracle Corporation
Java供应商的URL: http://java.oracle.com/
Java的安装路径: C:\Program Files\Java\jdk1.8.0_121\jre
Java的虚拟机规范版本: 1.8
Java的虚拟机规范供应商: Oracle Corporation
Java的虚拟机规范名称: Java Virtual Machine Specification
Java的虚拟机实现版本: 25.121-b13
Java的虚拟机实现供应商: Oracle Corporation
Java的虚拟机实现名称: Java HotSpot(TM) 64-Bit Server VM
Java运行时环境规范版本: 1.8
Java运行时环境规范供应商: null
Java运行时环境规范名称: Java Platform API Specification
Java的类格式版本号: 52.0
Java的类路径: C:\Program Files\Java\jdk1.8.0_121\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_121\jre\lib\rt.jar;E:\yyGit\yysblog\common\target\classes;E:\maven\mvnRespo\com\baomidou\mybatis-plus\2.0.6\mybatis-plus-2.0.6.jar;E:\maven\mvnRespo\org\apache\velocity\velocity\1.7\velocity-1.7.jar;E:\maven\mvnRespo\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;E:\maven\mvnRespo\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;E:\maven\mvnRespo\org\springframework\data\spring-data-redis\1.4.0.RELEASE\spring-data-redis-1.4.0.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-context\4.0.7.RELEASE\spring-context-4.0.7.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-expression\4.0.7.RELEASE\spring-expression-4.0.7.RELEASE.jar;E:\maven\mvnRespo\org\hyperic\sigar\1.6.4\sigar-1.6.4.jar;E:\maven\mvnRespo\org\slf4j\slf4j-api\1.7.21\slf4j-api-1.7.21.jar;E:\maven\mvnRespo\ch\qos\logback\logback-core\1.1.7\logback-core-1.1.7.jar;E:\maven\mvnRespo\ch\qos\logback\logback-access\1.1.7\logback-access-1.1.7.jar;E:\maven\mvnRespo\ch\qos\logback\logback-classic\1.1.7\logback-classic-1.1.7.jar;E:\maven\mvnRespo\org\codehaus\janino\commons-compiler\2.7.8\commons-compiler-2.7.8.jar;E:\maven\mvnRespo\org\codehaus\janino\janino\2.7.8\janino-2.7.8.jar;E:\maven\mvnRespo\org\springframework\spring-core\4.1.3.RELEASE\spring-core-4.1.3.RELEASE.jar;E:\maven\mvnRespo\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;E:\maven\mvnRespo\org\springframework\spring-jdbc\4.1.3.RELEASE\spring-jdbc-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-beans\4.1.3.RELEASE\spring-beans-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-oxm\4.1.3.RELEASE\spring-oxm-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-tx\4.1.3.RELEASE\spring-tx-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-aop\4.1.3.RELEASE\spring-aop-4.1.3.RELEASE.jar;E:\maven\mvnRespo\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;E:\maven\mvnRespo\org\springframework\spring-context-support\4.1.3.RELEASE\spring-context-support-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\springframework\spring-test\4.1.3.RELEASE\spring-test-4.1.3.RELEASE.jar;E:\maven\mvnRespo\org\aspectj\aspectjweaver\1.8.4\aspectjweaver-1.8.4.jar;E:\maven\mvnRespo\org\aspectj\aspectjrt\1.8.4\aspectjrt-1.8.4.jar;E:\maven\mvnRespo\cglib\cglib\2.2.2\cglib-2.2.2.jar;E:\maven\mvnRespo\asm\asm\3.3.1\asm-3.3.1.jar;E:\maven\mvnRespo\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar;E:\maven\mvnRespo\commons-io\commons-io\2.4\commons-io-2.4.jar;E:\maven\mvnRespo\com\alibaba\fastjson\1.1.41\fastjson-1.1.41.jar;E:\maven\mvnRespo\org\mybatis\mybatis\3.2.7\mybatis-3.2.7.jar;E:\maven\mvnRespo\org\mybatis\mybatis-spring\1.2.2\mybatis-spring-1.2.2.jar;E:\maven\mvnRespo\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar;E:\maven\mvnRespo\org\apache\shiro\shiro-spring\1.2.3\shiro-spring-1.2.3.jar;E:\maven\mvnRespo\org\apache\shiro\shiro-ehcache\1.2.3\shiro-ehcache-1.2.3.jar;E:\maven\mvnRespo\net\sf\ehcache\ehcache-core\2.5.0\ehcache-core-2.5.0.jar;E:\maven\mvnRespo\org\apache\shiro\shiro-core\1.2.3\shiro-core-1.2.3.jar;E:\maven\mvnRespo\commons-beanutils\commons-beanutils\1.8.3\commons-beanutils-1.8.3.jar;E:\maven\mvnRespo\org\apache\shiro\shiro-web\1.2.3\shiro-web-1.2.3.jar;E:\maven\mvnRespo\org\apache\shiro\shiro-quartz\1.2.3\shiro-quartz-1.2.3.jar;E:\maven\mvnRespo\org\opensymphony\quartz\quartz\1.6.1\quartz-1.6.1.jar;E:\maven\mvnRespo\com\alibaba\druid\1.0.9\druid-1.0.9.jar;C:\Program Files\Java\jdk1.8.0_121\lib\jconsole.jar;C:\Program Files\Java\jdk1.8.0_121\lib\tools.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.3.5\lib\idea_rt.jar
加载库时搜索的路径列表: C:\Program Files\Java\jdk1.8.0_121\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Python27\;C:\Python27\Scripts;C:\ProgramData\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;E:\apache-maven-3.2.5\bin;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:\Program Files\Redis\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\SlikSvn\bin;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files\SlikSvn\bin;C:\Python27\;C:;C:\Users\hiibook\AppData\Roaming\npm;.
默认的临时文件路径: C:\Users\hiibook\AppData\Local\Temp\
一个或多个扩展目录的路径: C:\Program Files\Java\jdk1.8.0_121\jre\lib\ext;C:\windows\Sun\Java\lib\ext
操作系统的名称: Windows 7
操作系统的构架: amd64
操作系统的版本: 6.1
文件分隔符: \
路径分隔符: ;
行分隔符: 用户的账户名称: hiibook
用户的主目录: C:\Users\hiibook
用户的当前工作目录: E:\yyGit\yysblog
----------------------------------
第1块CPU信息
CPU的总量MHz: 2693
CPU生产商: Intel
CPU类别: Pentium(R) CPU G630 @ 2.70GHz
CPU缓存数量: -1
CPU用户使用率: 66.7%
CPU系统使用率: 21.2%
CPU当前等待率: 0.0%
CPU当前错误率: 0.0%
CPU当前空闲率: 12.0%
CPU总的使用率: 87.9%
第2块CPU信息
CPU的总量MHz: 2693
CPU生产商: Intel
CPU类别: Pentium(R) CPU G630 @ 2.70GHz
CPU缓存数量: -1
CPU用户使用率: 72.6%
CPU系统使用率: 9.1%
CPU当前等待率: 0.0%
CPU当前错误率: 0.0%
CPU当前空闲率: 18.2%
CPU总的使用率: 81.7%
----------------------------------
内存总量: 4088772K av
当前内存使用量: 3846448K used
当前内存剩余量: 242324K free
交换区总量: 8175668K av
当前交换区使用量: 5974212K used
当前交换区剩余量: 2201456K free
----------------------------------
操作系统: x64
操作系统CpuEndian(): little
操作系统DataModel(): 64
操作系统的描述: Microsoft Windows 7
操作系统的卖主: Microsoft
操作系统的卖主名: Vienna
操作系统名称: Windows 7
操作系统卖主类型: 7
操作系统的版本号: 6.1
----------------------------------
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: LOCAL SERVICE
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: NETWORK SERVICE
用户控制台: console
用户host: hiibook-PC
当前系统进程表中的用户名: hiibook
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: SYSTEM
----------------------------------
分区的盘符名称0
盘符名称: C:\
盘符路径: C:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
C:\总大小: 117218240KB
C:\剩余大小: 31228752KB
C:\可用大小: 31228752KB
C:\已经使用量: 85989488KB
C:\资源的利用率: 74.0%
C:\读出: 1458336
C:\写入: 1312293
分区的盘符名称1
盘符名称: E:\
盘符路径: E:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
E:\总大小: 236514300KB
E:\剩余大小: 213543716KB
E:\可用大小: 213543716KB
E:\已经使用量: 22970584KB
E:\资源的利用率: 10.0%
E:\读出: 191056
E:\写入: 4616
分区的盘符名称2
盘符名称: F:\
盘符路径: F:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
F:\总大小: 209715196KB
F:\剩余大小: 190633592KB
F:\可用大小: 190633592KB
F:\已经使用量: 19081604KB
F:\资源的利用率: 10.0%
F:\读出: 46573
F:\写入: 7475
----------------------------------
网络设备名: eth0
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth0接收的总包裹数:0
eth0发送的总包裹数:0
eth0接收到的总字节数:0
eth0发送的总字节数:0
eth0接收到的错误包数:0
eth0发送数据包时的错误数:0
eth0接收时丢弃的包数:0
eth0发送时丢弃的包数:0
网络设备名: eth1
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth1接收的总包裹数:0
eth1发送的总包裹数:0
eth1接收到的总字节数:0
eth1发送的总字节数:0
eth1接收到的错误包数:0
eth1发送数据包时的错误数:0
eth1接收时丢弃的包数:0
eth1发送时丢弃的包数:0
网络设备名: eth2
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth2接收的总包裹数:834804
eth2发送的总包裹数:668418
eth2接收到的总字节数:643363904
eth2发送的总字节数:161001541
eth2接收到的错误包数:0
eth2发送数据包时的错误数:0
eth2接收时丢弃的包数:0
eth2发送时丢弃的包数:0
网络设备名: eth3
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth3接收的总包裹数:834804
eth3发送的总包裹数:668418
eth3接收到的总字节数:643363904
eth3发送的总字节数:161001541
eth3接收到的错误包数:0
eth3发送数据包时的错误数:0
eth3接收时丢弃的包数:0
eth3发送时丢弃的包数:0
网络设备名: eth4
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth4接收的总包裹数:0
eth4发送的总包裹数:0
eth4接收到的总字节数:0
eth4发送的总字节数:0
eth4接收到的错误包数:0
eth4发送数据包时的错误数:0
eth4接收时丢弃的包数:0
eth4发送时丢弃的包数:0
网络设备名: eth5
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth5接收的总包裹数:0
eth5发送的总包裹数:0
eth5接收到的总字节数:0
eth5发送的总字节数:0
eth5接收到的错误包数:0
eth5发送数据包时的错误数:0
eth5接收时丢弃的包数:0
eth5发送时丢弃的包数:0
网络设备名: eth6
IP地址: 192.168.1.100
子网掩码: 255.255.255.0
eth6接收的总包裹数:834804
eth6发送的总包裹数:668418
eth6接收到的总字节数:643363904
eth6发送的总字节数:161001541
eth6接收到的错误包数:0
eth6发送数据包时的错误数:0
eth6接收时丢弃的包数:0
eth6发送时丢弃的包数:0
网络设备名: eth7
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth7接收的总包裹数:0
eth7发送的总包裹数:0
eth7接收到的总字节数:0
eth7发送的总字节数:0
eth7接收到的错误包数:0
eth7发送数据包时的错误数:0
eth7接收时丢弃的包数:0
eth7发送时丢弃的包数:0
网络设备名: eth8
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
eth8接收的总包裹数:0
eth8发送的总包裹数:0
eth8接收到的总字节数:0
eth8发送的总字节数:0
eth8接收到的错误包数:0
eth8发送数据包时的错误数:0
eth8接收时丢弃的包数:0
eth8发送时丢弃的包数:0
网络设备名: lo0
IP地址: 127.0.0.1
子网掩码: 255.0.0.0
lo0接收的总包裹数:0
lo0发送的总包裹数:0
lo0接收到的总字节数:0
lo0发送的总字节数:0
lo0接收到的错误包数:0
lo0发送数据包时的错误数:0
lo0接收时丢弃的包数:0
lo0发送时丢弃的包数:0
----------------------------------
eth0IP地址:0.0.0.0
eth0网关广播地址:0.0.0.0
eth0网卡MAC地址:A0:72:20:52:41:53
eth0子网掩码:0.0.0.0
eth0网卡描述信息:WAN Miniport (IPv6)
eth0网卡类型Ethernet
eth1IP地址:0.0.0.0
eth1网关广播地址:0.0.0.0
eth1网卡MAC地址:A0:72:20:52:41:53
eth1子网掩码:0.0.0.0
eth1网卡描述信息:WAN Miniport (Network Monitor)
eth1网卡类型Ethernet
eth2IP地址:0.0.0.0
eth2网关广播地址:0.0.0.0
eth2网卡MAC地址:D0:67:E5:1A:17:5E
eth2子网掩码:0.0.0.0
eth2网卡描述信息:Realtek PCIe GBE Family Controller-QoS Packet Scheduler-0000
eth2网卡类型Ethernet
eth3IP地址:0.0.0.0
eth3网关广播地址:0.0.0.0
eth3网卡MAC地址:D0:67:E5:1A:17:5E
eth3子网掩码:0.0.0.0
eth3网卡描述信息:Realtek PCIe GBE Family Controller-WFP LightWeight Filter-0000
eth3网卡类型Ethernet
eth4IP地址:0.0.0.0
eth4网关广播地址:0.0.0.0
eth4网卡MAC地址:A0:72:20:52:41:53
eth4子网掩码:0.0.0.0
eth4网卡描述信息:WAN Miniport (IP)
eth4网卡类型Ethernet
eth5IP地址:0.0.0.0
eth5网关广播地址:0.0.0.0
eth5网卡MAC地址:A0:72:20:52:41:53
eth5子网掩码:0.0.0.0
eth5网卡描述信息:WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000
eth5网卡类型Ethernet
eth6IP地址:192.168.1.100
eth6网关广播地址:192.168.1.255
eth6网卡MAC地址:D0:67:E5:1A:17:5E
eth6子网掩码:255.255.255.0
eth6网卡描述信息:Realtek PCIe GBE Family Controller
eth6网卡类型Ethernet
eth7IP地址:0.0.0.0
eth7网关广播地址:0.0.0.0
eth7网卡MAC地址:A0:72:20:52:41:53
eth7子网掩码:0.0.0.0
eth7网卡描述信息:WAN Miniport (IP)-QoS Packet Scheduler-0000
eth7网卡类型Ethernet
eth8IP地址:0.0.0.0
eth8网关广播地址:0.0.0.0
eth8网卡MAC地址:A0:72:20:52:41:53
eth8子网掩码:0.0.0.0
eth8网卡描述信息:WAN Miniport (IPv6)-QoS Packet Scheduler-0000
eth8网卡类型Ethernet
----------------------------------

同时感谢大神提供的代码, 代码非常完美,以后再也不担心资源出现问题了...

https://gitee.com/code4udd/codes/37gy56lcjv1wetirxf9sn87