一、  Sigar详细介绍

Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API,核心由C语言实现的。

Sigar资料地址:https://support.hyperic.com/display/SIGAR/Home

Sigar提供了一组轻便式接口来收集系统信息,主要信息包含:

● 系统内存,页面交换,cpu,平均负载,运行时间,登录信息;

● 每个进程占用的内存,cpu,帐号信息,状态,参数,环境,打开的文件;

● 文件系统监测和度量;

● 网络接口监测,配置信息和度量;

● TCP和UDP连接表;

● 网络路由表;

Sigar适用的平台:


Sigar发布包含的文件如下:

二、Sigar实例详解

1.  环境准备

1) 需要架包:sigar-1.6.4.jar

2)C:\Windows\System32中加入sigar-amd64-winnt.dll

2.  实例实现

1) SigarInfoEntity.java (sigar显示信息实体)

package com.lm;
/*** 数据显示实体* @author ThinkPad**/
public class SigarInfoEntity {private String value;private String name;public String getValue() {return value;}public void setValue(String value) {this.value = value;}public String getName() {return name;}public void setName(String name) {this.name = name;}public SigarInfoEntity(String value, String name) {super();this.value = value;this.name = name;}public SigarInfoEntity(){}
}

2) SIgarUtils.java (sigar获取信息工具类)

package com.lm;import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
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.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;/*** sigar工具类* * @author ThinkPad**/
public class SigarUtils {private static Sigar sigar;/*** 获取sigar实体* * @return*/public static Sigar getInstance() {if (null == sigar) {sigar = new Sigar();}return sigar;}/*** 1.获取系统信息和jvm虚拟机信息* * @return* @throws UnknownHostException*/public static List<SigarInfoEntity> getJvmInfos()throws UnknownHostException {List<SigarInfoEntity> jvmInfoList = new ArrayList<SigarInfoEntity>();Runtime r = Runtime.getRuntime();// 系统配置属性Properties sysProps = System.getProperties();// java对ip封装的对象InetAddress addr;addr = InetAddress.getLocalHost();Map<String, String> envInfoMap = System.getenv();String userName = envInfoMap.get("USERNAME");// 获取用户名String computerName = envInfoMap.get("COMPUTERNAME");// 获取计算机名String userDomain = envInfoMap.get("USERDOMAIN");// 获取计算机域名jvmInfoList.add(new SigarInfoEntity(userName, "获取用户名"));jvmInfoList.add(new SigarInfoEntity(computerName, "获取计算机名"));jvmInfoList.add(new SigarInfoEntity(userDomain, "获取计算机域名"));jvmInfoList.add(new SigarInfoEntity(addr.getHostAddress(), "获取Ip"));jvmInfoList.add(new SigarInfoEntity(addr.getHostName(), "获取主机名称"));jvmInfoList.add(new SigarInfoEntity(String.valueOf(r.totalMemory()),"JVM总内存"));jvmInfoList.add(new SigarInfoEntity(String.valueOf(r.freeMemory()),"JVM剩余内存"));jvmInfoList.add(new SigarInfoEntity(String.valueOf(r.availableProcessors()), "jvm处理器个数"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.version"), "Java的运行环境版本"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vendor"), "Java的运行环境供应商"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vendor.url"), "Java供应商的URL"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.home"),"Java的安装路径"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.specification.version"), "Java的虚拟机规范版本"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.specification.vendor"), "Java的虚拟机规范供应商"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.specification.name"), "Java的虚拟机规范名称"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.version"), "Java的虚拟机实现版本"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.vendor"), "Java的虚拟机实现供应商"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.vm.name"), "Java的虚拟机实现名称"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.specification.version"), "Java运行时环境规范版本"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.specification.vendor"), "Java运行时环境规范供应商"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.specification.name"), "Java的虚拟机规范名称"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.class.version"), "Java的类格式版本号"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.class.path"), "Java的类路径"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.library.path"), "加载库时搜索的路径列表"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.io.tmpdir"), "默认的临时文件路径"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("java.ext.dirs"), "一个或多个扩展目录的路径"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("os.name"),"操作系统的名称"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("os.arch"),"操作系统的构架"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("os.version"),"操作系统的版本"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("file.separator"), "文件分隔符"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("path.separator"), "路径分隔符"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("line.separator"), "行分隔符"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("user.name"),"用户的账户名称"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("user.home"),"用户的主目录"));jvmInfoList.add(new SigarInfoEntity(sysProps.getProperty("user.dir"),"用户的当前工作目录"));return jvmInfoList;}/*** 2.获取cpu信息* * @return* @throws SigarException*/public static List<SigarInfoEntity> getCpuInfos() throws SigarException {List<SigarInfoEntity> cpuInfoList = new ArrayList<SigarInfoEntity>();CpuInfo[] cpuInfos = getInstance().getCpuInfoList();CpuPerc[] cpuPercs = getInstance().getCpuPercList();for (int i = 0; i < cpuInfos.length; i++) {CpuInfo cpuInfo = cpuInfos[i];cpuInfoList.add(new SigarInfoEntity(String.valueOf(i), "第" + i+ "个CPU信息"));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuInfo.getMhz()), "CPU的总量MHz" + i));cpuInfoList.add(new SigarInfoEntity(cpuInfo.getVendor(),"获得CPU的供应商" + i));cpuInfoList.add(new SigarInfoEntity(cpuInfo.getModel(), "获得CPU的类别"+ i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuInfo.getCacheSize()), "缓冲存储器数量" + i));}for (int i = 0; i < cpuPercs.length; i++) {CpuPerc cpuPerc = cpuPercs[i];cpuInfoList.add(new SigarInfoEntity(String.valueOf(i), "第" + i+ "个CPU片段"));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getUser()), "CPU用户使用率" + i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getSys()), "CPU系统使用率" + i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getWait()), "CPU当前等待率" + i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getNice()), "CPU当前错误率" + i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getIdle()), "CPU当前空闲率" + i));cpuInfoList.add(new SigarInfoEntity(String.valueOf(cpuPerc.getCombined()), "CPU总的使用率" + i));}return cpuInfoList;}/*** 3.获取内存信息* * @return* @throws SigarException*/public static List<SigarInfoEntity> getMemoryInfos() throws SigarException {List<SigarInfoEntity> memoryInfoList = new ArrayList<SigarInfoEntity>();Mem mem = getInstance().getMem();memoryInfoList.add(new SigarInfoEntity(mem.getTotal() / 1024L + "K av","内存总量"));memoryInfoList.add(new SigarInfoEntity(mem.getUsed() / 1024L + "K used", "当前内存使用量"));memoryInfoList.add(new SigarInfoEntity(mem.getFree() / 1024L + "K free", "当前内存剩余量"));Swap swap = getInstance().getSwap();memoryInfoList.add(new SigarInfoEntity(swap.getTotal() / 1024L + "K av", "交换区总量"));memoryInfoList.add(new SigarInfoEntity(swap.getUsed() / 1024L+ "K used", "当前交换区使用量"));memoryInfoList.add(new SigarInfoEntity(swap.getFree() / 1024L+ "K free", "当前交换区剩余量"));return memoryInfoList;}/*** 4.获取操作系统信息* * @return*/public static List<SigarInfoEntity> getOsInfos() {List<SigarInfoEntity> osInfoList = new ArrayList<SigarInfoEntity>();OperatingSystem os = OperatingSystem.getInstance();osInfoList.add(new SigarInfoEntity(os.getArch(), "操作系统"));osInfoList.add(new SigarInfoEntity(os.getCpuEndian(), "操作系统CpuEndian()"));osInfoList.add(new SigarInfoEntity(os.getDataModel(), "操作系统DataModel()"));osInfoList.add(new SigarInfoEntity(os.getDescription(), "操作系统的描述"));osInfoList.add(new SigarInfoEntity(os.getVendor(), "操作系统的供应商"));osInfoList.add(new SigarInfoEntity(os.getVendorCodeName(), "操作系统的供应商编号"));osInfoList.add(new SigarInfoEntity(os.getVendorName(), "操作系统的供应商名称"));osInfoList.add(new SigarInfoEntity(os.getVendorVersion(), "操作系统供应商类型"));osInfoList.add(new SigarInfoEntity(os.getVersion(), "操作系统的版本号"));return osInfoList;}/*** 5.获取文件信息* * @return* @throws SigarException*/public static List<SigarInfoEntity> getFileInfos() throws SigarException {List<SigarInfoEntity> fileInfoList = new ArrayList<SigarInfoEntity>();FileSystem fslist[] = getInstance().getFileSystemList();for (int i = 0; i < fslist.length; i++) {FileSystem fs = fslist[i];fileInfoList.add(new SigarInfoEntity(i + "", "分区的盘符号" + i));fileInfoList.add(new SigarInfoEntity(fs.getDevName(), "盘符名称" + i));fileInfoList.add(new SigarInfoEntity(fs.getDirName(), "盘符路径" + i));fileInfoList.add(new SigarInfoEntity(fs.getFlags() + "", "盘符标志" + i));fileInfoList.add(new SigarInfoEntity(fs.getSysTypeName(),"盘符类型(FAT32,NTFS)" + i));fileInfoList.add(new SigarInfoEntity(fs.getTypeName(), "盘符类型名" + i));fileInfoList.add(new SigarInfoEntity(fs.getType() + "", "盘符文件系统类型"+ i));FileSystemUsage usage = null;usage = getInstance().getFileSystemUsage(fs.getDirName());switch (fs.getType()) {case 0: // TYPE_UNKNOWN :未知break;case 1: // TYPE_NONEbreak;case 2: // TYPE_LOCAL_DISK : 本地硬盘fileInfoList.add(new SigarInfoEntity(usage.getTotal() + "KB","文件系统总大小" + fs.getDevName()));fileInfoList.add(new SigarInfoEntity(usage.getFree() + "KB","文件系统剩余大小" + fs.getDevName()));fileInfoList.add(new SigarInfoEntity(usage.getAvail() + "KB","文件系统可用大小" + fs.getDevName()));fileInfoList.add(new SigarInfoEntity(usage.getUsed() + "KB","文件系统已经使用量" + fs.getDevName()));fileInfoList.add(new SigarInfoEntity(usage.getUsePercent()* 100D + "%", "文件系统资源的利用率" + fs.getDevName()));break;case 3:// TYPE_NETWORK :网络break;case 4:// TYPE_RAM_DISK :闪存break;case 5:// TYPE_CDROM :光驱break;case 6:// TYPE_SWAP :页面交换break;}fileInfoList.add(new SigarInfoEntity(usage.getDiskReads() + "", fs.getDevName() + "读出"));fileInfoList.add(new SigarInfoEntity(usage.getDiskWrites() + "", fs.getDevName() + "写入"));}return fileInfoList;}/*** 6.获取网络信息* * @return* @throws SigarException*/public static List<SigarInfoEntity> getNetInfos() throws SigarException {List<SigarInfoEntity> netInfoList = new ArrayList<SigarInfoEntity>();String nIfNames[] = getInstance().getNetInterfaceList();for (int i = 0; i < nIfNames.length; i++) {String name = nIfNames[i];NetInterfaceConfig nIfConfig = getInstance().getNetInterfaceConfig(name);netInfoList.add(new SigarInfoEntity(name, "网络设备名" + i));netInfoList.add(new SigarInfoEntity(nIfConfig.getAddress(), "IP地址"+ i));netInfoList.add(new SigarInfoEntity(nIfConfig.getNetmask(), "子网掩码"+ i));if ((nIfConfig.getFlags() & 1L) <= 0L) {System.out.println("getNetInterfaceStat not exist");continue;}NetInterfaceStat nIfStat = getInstance().getNetInterfaceStat(name);netInfoList.add(new SigarInfoEntity(nIfStat.getRxPackets() + "","接收的总包裹数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getTxPackets() + "","发送的总包裹数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getRxBytes() + "","接收到的总字节数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getTxBytes() + "","发送的总字节数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getRxErrors() + "","接收到的错误包数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getTxErrors() + "","发送数据包时的错误数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getRxDropped() + "","接收时丢弃的包数" + i));netInfoList.add(new SigarInfoEntity(nIfStat.getTxDropped() + "","发送时丢弃的包数" + i));}return netInfoList;}
}

3)SigarMain.java (sigar输出信息main函数)

package com.lm;import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;import org.hyperic.sigar.SigarException;public class SigarMain {public static void main(String[] args) {// Sigar信息集合List<SigarInfoEntity> sigarInfos = new ArrayList<SigarInfoEntity>();try {// 1.获取系统信息和jvm虚拟机信息sigarInfos.addAll(SigarUtils.getJvmInfos());// 2.获取cpu信息sigarInfos.addAll(SigarUtils.getCpuInfos());// 3.获取内存信息sigarInfos.addAll(SigarUtils.getMemoryInfos());// 4.获取操作系统信息sigarInfos.addAll(SigarUtils.getOsInfos());// 5.获取文件信息sigarInfos.addAll(SigarUtils.getFileInfos());// 6.获取网络信息sigarInfos.addAll(SigarUtils.getNetInfos());StringBuffer sigarStringBuffer = new StringBuffer();for (SigarInfoEntity sigarInfo : sigarInfos) {sigarStringBuffer.append(sigarInfo.getName()).append(":").append(sigarInfo.getValue()).append("\r\n");}System.out.println(sigarStringBuffer.toString());} catch (SigarException se) {// TODO: handle exceptionse.printStackTrace();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

4) Sigar信息输出结果

getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
getNetInterfaceStat not exist
获取用户名:ThinkPad
获取计算机名:THINKPAD-PC
获取计算机域名:ThinkPad-PC
获取Ip:192.168.1.101
获取主机名称:ThinkPad-PC
JVM总内存:124649472
JVM剩余内存:123346392
jvm处理器个数:4
Java的运行环境版本:1.7.0_10
Java的运行环境供应商:Oracle Corporation
Java供应商的URL:http://java.oracle.com/
Java的安装路径:D:\IDE_SOFTWARE\Java\jdk1.7.0_10\jre
Java的虚拟机规范版本:1.7
Java的虚拟机规范供应商:Oracle Corporation
Java的虚拟机规范名称:Java Virtual Machine Specification
Java的虚拟机实现版本:23.6-b04
Java的虚拟机实现供应商:Oracle Corporation
Java的虚拟机实现名称:Java HotSpot(TM) 64-Bit Server VM
Java运行时环境规范版本:1.7
Java运行时环境规范供应商:Oracle Corporation
Java的虚拟机规范名称:Java Platform API Specification
Java的类格式版本号:51.0
Java的类路径:E:\my_project\Sigar_Example\bin;E:\my_project\Sigar_Example\lib\sigar-1.6.4.jar
加载库时搜索的路径列表:D:\IDE_SOFTWARE\Java\jdk1.7.0_10\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;D:\IDE_SOFTWARE\Java\jdk1.7.0_10\jre\bin;D:\IDE_SOFTWARE\Java\jdk1.7.0_10\bin;%ANDROID%\platform-tools;D:\IDE_SOFTWARE\Java\apache-maven-3.0.4\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Program Files\TortoiseSVN\bin;.
默认的临时文件路径:C:\Users\ThinkPad\AppData\Local\Temp\
一个或多个扩展目录的路径:D:\IDE_SOFTWARE\Java\jdk1.7.0_10\jre\lib\ext;C:\windows\Sun\Java\lib\ext
操作系统的名称:Windows 7
操作系统的构架:amd64
操作系统的版本:6.1
文件分隔符:\
路径分隔符:;
行分隔符:用户的账户名称:ThinkPad
用户的主目录:C:\Users\ThinkPad
用户的当前工作目录:E:\my_project\Sigar_Example
第0个CPU信息:0
CPU的总量MHz0:2394
获得CPU的供应商0:Intel
获得CPU的类别0:Core(TM) i5-4210U CPU @ 1.70GHz
缓冲存储器数量0:-1
第1个CPU信息:1
CPU的总量MHz1:2394
获得CPU的供应商1:Intel
获得CPU的类别1:Core(TM) i5-4210U CPU @ 1.70GHz
缓冲存储器数量1:-1
第2个CPU信息:2
CPU的总量MHz2:2394
获得CPU的供应商2:Intel
获得CPU的类别2:Core(TM) i5-4210U CPU @ 1.70GHz
缓冲存储器数量2:-1
第3个CPU信息:3
CPU的总量MHz3:2394
获得CPU的供应商3:Intel
获得CPU的类别3:Core(TM) i5-4210U CPU @ 1.70GHz
缓冲存储器数量3:-1
第0个CPU片段:0
CPU用户使用率0:0.0
CPU系统使用率0:0.030120481927710843
CPU当前等待率0:0.0
CPU当前错误率0:0.0
CPU当前空闲率0:0.9698795180722891
CPU总的使用率0:0.030120481927710843
第1个CPU片段:1
CPU用户使用率1:0.0
CPU系统使用率1:0.0
CPU当前等待率1:0.0
CPU当前错误率1:0.0
CPU当前空闲率1:1.0
CPU总的使用率1:0.0
第2个CPU片段:2
CPU用户使用率2:0.0
CPU系统使用率2:0.0
CPU当前等待率2:0.0
CPU当前错误率2:0.0
CPU当前空闲率2:1.0
CPU总的使用率2:0.0
第3个CPU片段:3
CPU用户使用率3:0.0
CPU系统使用率3:0.0
CPU当前等待率3:0.0
CPU当前错误率3:0.0
CPU当前空闲率3:1.0
CPU总的使用率3:0.0
内存总量:8122612K av
当前内存使用量:5196728K used
当前内存剩余量:2925884K free
交换区总量:16243388K av
当前交换区使用量:6119424K used
当前交换区剩余量:10123964K free
操作系统:x64
操作系统CpuEndian():little
操作系统DataModel():64
操作系统的描述:Microsoft Windows 7
操作系统的供应商:Microsoft
操作系统的供应商编号:Vienna
操作系统的供应商名称:Windows 7
操作系统供应商类型:7
操作系统的版本号:6.1
分区的盘符号0:0
盘符名称0:C:\
盘符路径0:C:\
盘符标志0:0
盘符类型(FAT32,NTFS)0:NTFS
盘符类型名0:local
盘符文件系统类型0:2
文件系统总大小C:\:83888124KB
文件系统剩余大小C:\:36962412KB
文件系统可用大小C:\:36962412KB
文件系统已经使用量C:\:46925712KB
文件系统资源的利用率C:\:56.00000000000001%
C:\读出:78037
C:\写入:159859
分区的盘符号1:1
盘符名称1:D:\
盘符路径1:D:\
盘符标志1:0
盘符类型(FAT32,NTFS)1:NTFS
盘符类型名1:local
盘符文件系统类型1:2
文件系统总大小D:\:134831100KB
文件系统剩余大小D:\:75336084KB
文件系统可用大小D:\:75336084KB
文件系统已经使用量D:\:59495016KB
文件系统资源的利用率D:\:45.0%
D:\读出:84780
D:\写入:20612
分区的盘符号2:2
盘符名称2:E:\
盘符路径2:E:\
盘符标志2:0
盘符类型(FAT32,NTFS)2:NTFS
盘符类型名2:local
盘符文件系统类型2:2
文件系统总大小E:\:134831100KB
文件系统剩余大小E:\:101600756KB
文件系统可用大小E:\:101600756KB
文件系统已经使用量E:\:33230344KB
文件系统资源的利用率E:\:25.0%
E:\读出:9853
E:\写入:13447
分区的盘符号3:3
盘符名称3:F:\
盘符路径3:F:\
盘符标志3:0
盘符类型(FAT32,NTFS)3:NTFS
盘符类型名3:local
盘符文件系统类型3:2
文件系统总大小F:\:134833172KB
文件系统剩余大小F:\:93223048KB
文件系统可用大小F:\:93223048KB
文件系统已经使用量F:\:41610124KB
文件系统资源的利用率F:\:31.0%
F:\读出:2408
F:\写入:26
网络设备名0:eth0
IP地址0:0.0.0.0
子网掩码0:0.0.0.0
接收的总包裹数0:0
发送的总包裹数0:0
接收到的总字节数0:0
发送的总字节数0:0
接收到的错误包数0:0
发送数据包时的错误数0:0
接收时丢弃的包数0:0
发送时丢弃的包数0:0
网络设备名1:eth1
IP地址1:0.0.0.0
子网掩码1:0.0.0.0
接收的总包裹数1:0
发送的总包裹数1:0
接收到的总字节数1:0
发送的总字节数1:0
接收到的错误包数1:0
发送数据包时的错误数1:0
接收时丢弃的包数1:0
发送时丢弃的包数1:0
网络设备名2:eth2
IP地址2:0.0.0.0
子网掩码2:0.0.0.0
网络设备名3:eth3
IP地址3:0.0.0.0
子网掩码3:0.0.0.0
网络设备名4:eth4
IP地址4:0.0.0.0
子网掩码4:0.0.0.0
接收的总包裹数4:0
发送的总包裹数4:0
接收到的总字节数4:0
发送的总字节数4:0
接收到的错误包数4:0
发送数据包时的错误数4:0
接收时丢弃的包数4:0
发送时丢弃的包数4:0
网络设备名5:eth5
IP地址5:0.0.0.0
子网掩码5:0.0.0.0
接收的总包裹数5:0
发送的总包裹数5:0
接收到的总字节数5:0
发送的总字节数5:0
接收到的错误包数5:0
发送数据包时的错误数5:0
接收时丢弃的包数5:0
发送时丢弃的包数5:0
网络设备名6:eth6
IP地址6:0.0.0.0
子网掩码6:0.0.0.0
网络设备名7:eth7
IP地址7:0.0.0.0
子网掩码7:0.0.0.0
网络设备名8:eth8
IP地址8:0.0.0.0
子网掩码8:0.0.0.0
接收的总包裹数8:0
发送的总包裹数8:0
接收到的总字节数8:0
发送的总字节数8:0
接收到的错误包数8:0
发送数据包时的错误数8:0
接收时丢弃的包数8:0
发送时丢弃的包数8:0
网络设备名9:eth9
IP地址9:0.0.0.0
子网掩码9:0.0.0.0
接收的总包裹数9:0
发送的总包裹数9:0
接收到的总字节数9:0
发送的总字节数9:0
接收到的错误包数9:0
发送数据包时的错误数9:0
接收时丢弃的包数9:0
发送时丢弃的包数9:0
网络设备名10:lo0
IP地址10:127.0.0.1
子网掩码10:255.0.0.0
接收的总包裹数10:0
发送的总包裹数10:0
接收到的总字节数10:0
发送的总字节数10:0
接收到的错误包数10:0
发送数据包时的错误数10:0
接收时丢弃的包数10:0
发送时丢弃的包数10:0
网络设备名11:eth10
IP地址11:192.168.1.101
子网掩码11:255.255.255.0
接收的总包裹数11:12608
发送的总包裹数11:11065
接收到的总字节数11:10158750
发送的总字节数11:1197660
接收到的错误包数11:0
发送数据包时的错误数11:0
接收时丢弃的包数11:0
发送时丢弃的包数11:0
网络设备名12:eth11
IP地址12:0.0.0.0
子网掩码12:0.0.0.0
接收的总包裹数12:12608
发送的总包裹数12:11065
接收到的总字节数12:10158750
发送的总字节数12:1197660
接收到的错误包数12:0
发送数据包时的错误数12:0
接收时丢弃的包数12:0
发送时丢弃的包数12:0
网络设备名13:eth12
IP地址13:0.0.0.0
子网掩码13:0.0.0.0
接收的总包裹数13:12608
发送的总包裹数13:11065
接收到的总字节数13:10158750
发送的总字节数13:1197660
接收到的错误包数13:0
发送数据包时的错误数13:0
接收时丢弃的包数13:0
发送时丢弃的包数13:0
网络设备名14:eth13
IP地址14:0.0.0.0
子网掩码14:0.0.0.0
接收的总包裹数14:12608
发送的总包裹数14:11065
接收到的总字节数14:10158750
发送的总字节数14:1197660
接收到的错误包数14:0
发送数据包时的错误数14:0
接收时丢弃的包数14:0
发送时丢弃的包数14:0
网络设备名15:eth14
IP地址15:0.0.0.0
子网掩码15:0.0.0.0
接收的总包裹数15:12608
发送的总包裹数15:11065
接收到的总字节数15:10158750
发送的总字节数15:1197660
接收到的错误包数15:0
发送数据包时的错误数15:0
接收时丢弃的包数15:0
发送时丢弃的包数15:0
网络设备名16:eth15
IP地址16:0.0.0.0
子网掩码16:0.0.0.0
网络设备名17:eth16
IP地址17:0.0.0.0
子网掩码17:0.0.0.0
网络设备名18:eth17
IP地址18:0.0.0.0
子网掩码18:0.0.0.0
网络设备名19:eth18
IP地址19:0.0.0.0
子网掩码19:0.0.0.0
网络设备名20:eth19
IP地址20:0.0.0.0
子网掩码20:0.0.0.0
网络设备名21:eth20
IP地址21:0.0.0.0
子网掩码21:0.0.0.0

Sigar实例项目地址:http://download.csdn.net/detail/a123demi/9436039

Sigar 获取CPU和Memory内存等信息使用详解相关推荐

  1. java获取计算机cpu利用率和内存使用信息

    利用java获取计算机cpu利用率和内存使用信息 1.pojo类: public class MonitorInfoBean {     /** 可使用内存. */     private long ...

  2. CPU 与 Memory 内存之间的三级缓存的实现原理

    title: CPU Cache date: 2019-11-17 20:20:30 keywords: cache "CPU cache" "三级缓存" 缓存 ...

  3. openstack资源统计监控系列之ceilometer+gnocchi获取cpu、memory项目实战及实现源码(三)

    在做openstack资源统计监控中通过ceilometer+gnocchi获取cpu.memory的使用率,遇到了很多的坑,在一下分别记录,并附上实现的源码. 自从openstack发布到 S 版本 ...

  4. 【Linux学习笔记】Linux获取CPU使用率,内存使用率和磁盘使用率

    实现目标: 在Linux上使用shell脚本回显系统当前的CPU使用率.内存使用率和磁盘空间使用率 1.CPU使用率: 使用top命令能够实时显示系统中各个进程的资源占用状况,所以这边可以使用top命 ...

  5. Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间等

    Qt linux获取cpu使用率.内存.网络收发速度.磁盘读写速度.磁盘剩余空间等,实际上大部分都和qt无关的,用其他语言也可以获取. code: .h #ifndef RESOURCE_MINITO ...

  6. linux服务器怎么查看cpu配置信息,linux服务器cpu信息查看详解

    在linux系统中,提供了/proc目录下文件,显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以查/proc/cpuinfo.但是此文件输出项较多,不易理解.例如我们想获取, ...

  7. ptmalloc内存分配和回收详解(文字版)

    ptmalloc内存分配和回收详解(文字版) 进程默认内存布局(x86) 从进程的内存布局可知,.bss段之上的这块分配给用户程序的空间被称之为heap,start_brk指向heap的开始,而brk ...

  8. 如何获取请求端真实IP和远程主机IP详解

    如何获取请求端真实IP和远程主机IP详解 需求背景 一.Remote_Addr 情况 一: 情况二: java中获取Remote_Addr的api 二.X-Forwarded-For java中获取X ...

  9. python微信自动发消息_Python使用微信itchat接口实现查看自己微信的信息功能详解...

    Python使用微信itchat接口实现查看自己微信的信息功能详解 发布时间:2020-09-09 04:20:11 来源:脚本之家 阅读:134 本文实例讲述了Python使用微信itchat接口实 ...

最新文章

  1. 在Ubuntu 14.04 64bit上进行md5加密编程
  2. iOS 一些基础的方法
  3. Orchard 的项目结构-解决方案文件夹的原理与使用
  4. 设计模式—工厂模式之简单工厂模式
  5. sharepoint 2016 开启Project 2016 pwa网站
  6. 海洋工程-专业名词-学科关键词(终极版)
  7. Android 使用webview遇到的问题及解决办法
  8. 转载:常见的正则表达式
  9. 数据库面试要点:关于MySQL数据库千万级数据查询和存储
  10. 一个O-RAN YANG语言文件:o-ran-interfaces.yang
  11. 尝试加载 Oracle 客户端库时引发 BadImageFormatException。问题记录
  12. 20190901每日一句 那就从现在开始吧,让生命变得更有价值
  13. win10系统服务器管理器,win10服务管理器,详细教您Win10服务管理器怎样打开
  14. 领导力教练:世界著名企业教练们的实践心得(原书第3版)
  15. 美团java后端_美团笔试题(Java后端5题2小时)(示例代码)
  16. ogre研究之第一个程序
  17. python timer详解_Python timer定时器两种常用方法解析
  18. System32/SysWow64
  19. Javascript中的原型链,__proto__和prototype等问题总结
  20. seqCNA笔记-处理来自肿瘤样本的高通量测序拷贝数数据

热门文章

  1. Google新闻vs门户新闻:决裂还是共存
  2. 轻售后、缺服务,产销双增背景下家电行业“后院失火”?
  3. 【Conda】常用命令
  4. 解决网络丢包问题及故障判断方法
  5. 核函数和核矩阵【转】
  6. 硬件工程师都没人干了_我的汽车工程师之路
  7. js获取当前时间写入HTML,html获取当前时间 js获取当前日期的前后4天
  8. 用 PHP 进行 HTTP 认证,Basic Auth
  9. 遗传算法求解香蕉函数极大值
  10. Lambada表达式常用案例(技能题)