设计网站室内,北京logo设计公司哪家好,58同城网站官网,百度ai人工智能一、背景#xff1a; 现在在做项目的时候#xff0c;经常会遇到需要获取这些信息#xff0c;当不了解的时候会觉得很麻烦#xff0c;事实上使用Sigar获取相当的简单#xff0c;今天我再根据前人的总结再进行总结一下#xff0c;解决一些使用Sigar会遇到的一些问题。 二、…一、背景 现在在做项目的时候经常会遇到需要获取这些信息当不了解的时候会觉得很麻烦事实上使用Sigar获取相当的简单今天我再根据前人的总结再进行总结一下解决一些使用Sigar会遇到的一些问题。 二、本文内容 a、Sigar的介绍与使用 b、介绍Sigar的零配置使用方法 三、核心内容 a、Sigard的介绍 sigar全名是System Information Gatherer And ReporterSigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息.
这些平台包括Linux, Windows, Solaris, AIX, HP-UX, FreeBSD and Mac OSX.
Sigar可以获得系统的如下介个方面的信息 1.操作系统的信息包括dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendorName、vendorCodeName 2.CPU信息包括基本信息vendor、model、mhz、cacheSize和统计信息user、sys、idle、nice、wait 3.内存信息物理内存和交换内存的总数、使用数、剩余数RAM的大小 4.进程信息包括每个进程的内存、CPU占用数、状态、参数、句柄等。 5.文件系统信息包括名称、容量、剩余数、使用数、分区类型等 6.网络接口信息包括基本信息和统计信息。 7.网络路由和链接表信息。
b、sigar的使用介绍windows的方法其它系统类似只是依赖的文件不一致 1、官网下载sigarhttps://sourceforge.net/projects/sigar/download#!/sigar/1.6/hyperic-sigar-1.6.4.zip 2、解压文件把文件sigar.jar提取出来放入到你自己的系统中 3、把sigar-amd64-winnt.dll、sigar-x86-winnt.dll、sigar-x86-winnt.lib文件放入你的jdk文件夹的bin目录下或放入你的path环境变量里配置的任何一个地址下 4、完成
一段经典代码来源于http://blog.csdn.net/wudiazu/article/details/73829324 package org.gocom.components.tool;
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;
import com.eos.system.annotation.Bizlet;
public class RuntimeTest { public static void main(String[] args) { try { SigarUtils s new SigarUtils(); s.initSigar(); // 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();MapString, 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));
}Bizlet(memory)
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);
}Bizlet(cpu)
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的总量MHzSystem.out.println(CPU生产商: info.getVendor());// 获得CPU的卖主如IntelSystem.out.println(CPU类别: info.getModel());// 获得CPU的类别如CeleronSystem.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等x86System.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();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、NTFSSystem.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_NONEbreak;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());}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());//}
}}
运行此代码结果如下 用户名: caililiang 计算机名: CAILILIANG-PC 计算机域名: caililiang-PC 本地ip地址: 192.168.43.210 本地主机名: caililiang-PC JVM可以使用的总内存: 62586880 JVM可以使用的剩余内存: 57015440 JVM可以使用的处理器个数: 4 Java的运行环境版本 1.6.0_45 Java的运行环境供应商 Sun Microsystems Inc. Java供应商的URL http://java.sun.com/ Java的安装路径 C:\primeton\platform5\ide\eclipse\jre\jre Java的虚拟机规范版本 1.0 Java的虚拟机规范供应商 Sun Microsystems Inc. Java的虚拟机规范名称 Java Virtual Machine Specification Java的虚拟机实现版本 20.45-b01 Java的虚拟机实现供应商 Sun Microsystems Inc. Java的虚拟机实现名称 Java HotSpot™ 64-Bit Server VM Java运行时环境规范版本 1.6 Java运行时环境规范供应商 null Java运行时环境规范名称 Java Platform API Specification Java的类格式版本号 50.0 Java的类路径 (太长剪掉了) 默认的临时文件路径 C:\Users\CAILIL~1\AppData\Local\Temp 一个或多个扩展目录的路径 C:\primeton\platform5\ide\eclipse\jre\jre\lib\ext;C:\Windows\Sun\Java\lib\ext 操作系统的名称 Windows 7 操作系统的构架 amd64 操作系统的版本 6.1 文件分隔符 路径分隔符 ; 行分隔符
用户的账户名称 caililiang 用户的主目录 C:\Users\caililiang 用户的当前工作目录 C:\primeton\platform5\ide\eclipse\workspace\DQMS
第1块CPU信息 CPU的总量MHz: 2394 CPU生产商: Intel CPU类别: Core™ i3-3110M CPU 2.40GHz CPU缓存数量: -1 CPU用户使用率: 12.4% CPU系统使用率: 3.2% CPU当前等待率: 0.0% CPU当前错误率: 0.0% CPU当前空闲率: 84.3% CPU总的使用率: 15.6% 第2块CPU信息 CPU的总量MHz: 2394 CPU生产商: Intel CPU类别: Core™ i3-3110M CPU 2.40GHz CPU缓存数量: -1 CPU用户使用率: 0.0% CPU系统使用率: 0.0% CPU当前等待率: 0.0% CPU当前错误率: 0.0% CPU当前空闲率: 100.0% CPU总的使用率: 0.0% 第3块CPU信息 CPU的总量MHz: 2394 CPU生产商: Intel CPU类别: Core™ i3-3110M CPU 2.40GHz CPU缓存数量: -1 CPU用户使用率: 9.2% CPU系统使用率: 3.2% CPU当前等待率: 0.0% CPU当前错误率: 0.0% CPU当前空闲率: 87.5% CPU总的使用率: 12.4% 第4块CPU信息 CPU的总量MHz: 2394 CPU生产商: Intel CPU类别: Core™ i3-3110M CPU 2.40GHz CPU缓存数量: -1 CPU用户使用率: 0.0% CPU系统使用率: 0.0% CPU当前等待率: 0.0% CPU当前错误率: 0.0% CPU当前空闲率: 100.0% CPU总的使用率: 0.0%
内存总量: 4077252K av 当前内存使用量: 2867208K used 当前内存剩余量: 1210044K free 交换区总量: 8152644K av 当前交换区使用量: 5345996K used 当前交换区剩余量: 2806648K 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: caililiang-PC 当前系统进程表中的用户名: caililiang 用户控制台: console 用户host: NT SERVICE 当前系统进程表中的用户名: MSSQLSERVER 用户控制台: console 用户host: NT AUTHORITY 当前系统进程表中的用户名: SYSTEM
分区的盘符名称0 盘符名称: C: 盘符路径: C: 盘符标志: 0 盘符类型: NTFS 盘符类型名: local 盘符文件系统类型: 2 C:\总大小: 117219324KB C:\剩余大小: 3883336KB C:\可用大小: 3883336KB C:\已经使用量: 113335988KB C:\资源的利用率: 97.0% C:\读出 430422 C:\写入 98924 分区的盘符名称1 盘符名称: D: 盘符路径: D: 盘符标志: 0 盘符类型: NTFS 盘符类型名: local 盘符文件系统类型: 2 D:\总大小: 106920572KB D:\剩余大小: 20250824KB D:\可用大小: 20250824KB D:\已经使用量: 86669748KB D:\资源的利用率: 82.0% D:\读出 94198 D:\写入 23002 分区的盘符名称2 盘符名称: E: 盘符路径: E: 盘符标志: 0 盘符类型: NTFS 盘符类型名: local 盘符文件系统类型: 2 E:\总大小: 105635372KB E:\剩余大小: 7226036KB E:\可用大小: 7226036KB E:\已经使用量: 98409336KB E:\资源的利用率: 94.0% E:\读出 29 E:\写入 816 分区的盘符名称3 盘符名称: F: 盘符路径: F: 盘符标志: 0 盘符类型: NTFS 盘符类型名: local 盘符文件系统类型: 2 F:\总大小: 168152320KB F:\剩余大小: 24331392KB F:\可用大小: 24331392KB F:\已经使用量: 143820928KB F:\资源的利用率: 86.0% F:\读出 22 F:\写入 676
网络设备名: 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 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth3 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: 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地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth7 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: 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 网络设备名: eth9 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 eth9接收的总包裹数:0 eth9发送的总包裹数:0 eth9接收到的总字节数:0 eth9发送的总字节数:0 eth9接收到的错误包数:0 eth9发送数据包时的错误数:0 eth9接收时丢弃的包数:0 eth9发送时丢弃的包数:0 网络设备名: eth10 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth11 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: 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 网络设备名: eth12 IP地址: 192.168.43.210 子网掩码: 255.255.255.0 eth12接收的总包裹数:148748 eth12发送的总包裹数:45272 eth12接收到的总字节数:205564111 eth12发送的总字节数:4224624 eth12接收到的错误包数:0 eth12发送数据包时的错误数:0 eth12接收时丢弃的包数:0 eth12发送时丢弃的包数:0 网络设备名: eth13 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 eth13接收的总包裹数:148748 eth13发送的总包裹数:45272 eth13接收到的总字节数:205564111 eth13发送的总字节数:4224624 eth13接收到的错误包数:0 eth13发送数据包时的错误数:0 eth13接收时丢弃的包数:0 eth13发送时丢弃的包数:0 网络设备名: eth14 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 eth14接收的总包裹数:148748 eth14发送的总包裹数:45272 eth14接收到的总字节数:205564111 eth14发送的总字节数:4224624 eth14接收到的错误包数:0 eth14发送数据包时的错误数:0 eth14接收时丢弃的包数:0 eth14发送时丢弃的包数:0 网络设备名: eth15 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 eth15接收的总包裹数:148748 eth15发送的总包裹数:45272 eth15接收到的总字节数:205564111 eth15发送的总字节数:4224624 eth15接收到的错误包数:0 eth15发送数据包时的错误数:0 eth15接收时丢弃的包数:0 eth15发送时丢弃的包数:0 网络设备名: eth16 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 eth16接收的总包裹数:148748 eth16发送的总包裹数:45272 eth16接收到的总字节数:205564111 eth16发送的总字节数:4224624 eth16接收到的错误包数:0 eth16发送数据包时的错误数:0 eth16接收时丢弃的包数:0 eth16发送时丢弃的包数:0 网络设备名: eth17 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth18 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth19 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat 网络设备名: eth20 IP地址: 0.0.0.0 子网掩码: 0.0.0.0 !IFF_UP…skipping getNetInterfaceStat
eth0IP地址:0.0.0.0 eth0网关广播地址:0.0.0.0 eth0网卡MAC地址:F0:7E: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地址:EE:1F: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地址:74:D0:2B:D8:68:14 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地址:74:D0:2B:D8:68:14 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地址:EE:1F: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地址:EE:1F:20:52:41:53 eth5子网掩码:0.0.0.0 eth5网卡描述信息:WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000 eth5网卡类型Ethernet eth6IP地址:0.0.0.0 eth6网关广播地址:0.0.0.0 eth6网卡MAC地址:6C:71:D9:AC:DD:C4 eth6子网掩码:0.0.0.0 eth6网卡描述信息:Bluetooth É豸(¸öÈËÇøÓòÍø eth6网卡类型Ethernet eth7IP地址:0.0.0.0 eth7网关广播地址:0.0.0.0 eth7网卡MAC地址:86:D4:1B:4E:40:F9 eth7子网掩码:0.0.0.0 eth7网卡描述信息:Remote NDIS based Internet Sharing Device eth7网卡类型Ethernet eth8IP地址:0.0.0.0 eth8网关广播地址:0.0.0.0 eth8网卡MAC地址:EE:1F:20:52:41:53 eth8子网掩码:0.0.0.0 eth8网卡描述信息:WAN Miniport (IP)-QoS Packet Scheduler-0000 eth8网卡类型Ethernet eth9IP地址:0.0.0.0 eth9网关广播地址:0.0.0.0 eth9网卡MAC地址:F0:7E:20:52:41:53 eth9子网掩码:0.0.0.0 eth9网卡描述信息:WAN Miniport (IPv6)-QoS Packet Scheduler-0000 eth9网卡类型Ethernet eth10IP地址:0.0.0.0 eth10网关广播地址:0.0.0.0 eth10网卡MAC地址:74:D0:2B:D8:68:14 eth10子网掩码:0.0.0.0 eth10网卡描述信息:Realtek PCIe GBE Family Controller eth10网卡类型Ethernet eth11IP地址:0.0.0.0 eth11网关广播地址:0.0.0.0 eth11网卡MAC地址:F6:2D:AF:61:77:8C eth11子网掩码:0.0.0.0 eth11网卡描述信息:Remote NDIS based Internet Sharing Device #2 eth11网卡类型Ethernet eth12IP地址:192.168.43.210 eth12网关广播地址:192.168.43.255 eth12网卡MAC地址:6C:71:D9:AC:DD:C5 eth12子网掩码:255.255.255.0 eth12网卡描述信息:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter eth12网卡类型Ethernet eth13IP地址:0.0.0.0 eth13网关广播地址:0.0.0.0 eth13网卡MAC地址:6C:71:D9:AC:DD:C5 eth13子网掩码:0.0.0.0 eth13网卡描述信息:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-Virtual WiFi Filter Driver-0000 eth13网卡类型Ethernet eth14IP地址:0.0.0.0 eth14网关广播地址:0.0.0.0 eth14网卡MAC地址:6C:71:D9:AC:DD:C5 eth14子网掩码:0.0.0.0 eth14网卡描述信息:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-QoS Packet Scheduler-0000 eth14网卡类型Ethernet eth15IP地址:0.0.0.0 eth15网关广播地址:0.0.0.0 eth15网卡MAC地址:6C:71:D9:AC:DD:C5 eth15子网掩码:0.0.0.0 eth15网卡描述信息:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-Native WiFi Filter Driver-0000 eth15网卡类型Ethernet eth16IP地址:0.0.0.0 eth16网关广播地址:0.0.0.0 eth16网卡MAC地址:6C:71:D9:AC:DD:C5 eth16子网掩码:0.0.0.0 eth16网卡描述信息:Qualcomm Atheros AR9485WB-EG Wireless Network Adapter-WFP LightWeight Filter-0000 eth16网卡类型Ethernet eth17IP地址:0.0.0.0 eth17网关广播地址:0.0.0.0 eth17网卡MAC地址:1E:71:D9:AC:DD:C5 eth17子网掩码:0.0.0.0 eth17网卡描述信息:Microsoft Virtual WiFi Miniport Adapter-Native WiFi Filter Driver-0000 eth17网卡类型Ethernet eth18IP地址:0.0.0.0 eth18网关广播地址:0.0.0.0 eth18网卡MAC地址:1E:71:D9:AC:DD:C5 eth18子网掩码:0.0.0.0 eth18网卡描述信息:Microsoft Virtual WiFi Miniport Adapter eth18网卡类型Ethernet eth19IP地址:0.0.0.0 eth19网关广播地址:0.0.0.0 eth19网卡MAC地址:1E:71:D9:AC:DD:C5 eth19子网掩码:0.0.0.0 eth19网卡描述信息:Microsoft Virtual WiFi Miniport Adapter-QoS Packet Scheduler-0000 eth19网卡类型Ethernet eth20IP地址:0.0.0.0 eth20网关广播地址:0.0.0.0 eth20网卡MAC地址:1E:71:D9:AC:DD:C5 eth20子网掩码:0.0.0.0 eth20网卡描述信息:Microsoft Virtual WiFi Miniport Adapter-WFP LightWeight Filter-0000 eth20网卡类型Ethernet
c、sigar的零配置使用 看到这里大家应该有疑问了就是我们在开发一个系统后是要尽量减少用户的配置的就算要做配置也是一些很简单的配置而上面的描述是要找path路径配置又要拷贝文件这个操作对于用户来说是非常的麻烦用户肯定不愿意接受的但上面的配置又必须存在所以我们要想办法解决这个问题 其实这个问题解决起来也是比较简单通过上面的“Sigar的使用”的介绍大家就应该可以理解到我们拷贝文件到对应的目录只不过就是为了让java虚拟机可以找到这几个文件所以我们干脆就把这几个文件放入到我们的系统的某个文件夹下然后再通过代码把对应的文件夹路径配置到Path路径下这样就解决了配置的问题具体做法如下 package org.gocom.components.tool;
import java.io.File;
import org.hyperic.sigar.Sigar;
public class SigarUtils { //public final static Sigar sigar initSigar(); public static Sigar initSigar() { try { //此处只为得到依赖库文件的目录可根据实际项目自定义 //String file Paths.get(PathKit.getWebRootPath(), “files”, “sigar”,.sigar_shellrc).toString(); //File classPath new File(file).getParentFile(); //String filePath SigarUtils.class.getClassLoader().getResource().toURI().getPath(); //System.out.println(filePath); File classPath new File(“C:/primeton/platform6/ide/eclipse/workspace/ywlcyz/src/org/gocom/components/test/sigar”);//这里我直接把文件路径写死了 String path System.getProperty(java.library.path);String sigarLibPath classPath.getCanonicalPath();//为防止java.library.path重复加此处判断了一下if (!path.contains(sigarLibPath)) {if (isOSWin()) {path ; sigarLibPath;System.out.println(path);} else {path : sigarLibPath;}System.setProperty(java.library.path, path);}return new Sigar();} catch (Exception e) {return null;}
}public static boolean isOSWin(){//OS 版本判断String OS System.getProperty(os.name).toLowerCase();if (OS.indexOf(win) 0) {return true;} else return false;
}}
通过如下代码初始化Sigar环境然后再使用Sigar就不用再进行配置了。 如有问题或有想相互学习交流的可以联系本人邮箱18986837482163.com微信caililiangcaililiangQQ785553790
作者笑才 链接https://www.jianshu.com/p/c3d88dd617bf 来源简书