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

桂志新
2023-12-01

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

  linux,libsigar-amd64-linux.so拷贝到jdkbin目录下,或者拷贝到WEB-INF/lib

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

 

下面是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

转载于:https://www.cnblogs.com/yysbolg/p/9018435.html

 类似资料: