Sigar 获取CPU和Memory内存等信息使用详解

一、  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_NONE
				break;
			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 exception
			se.printStackTrace();
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.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

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值