|  | @ -15,7 +15,8 @@ import java.util.*;
 | 
	
		
			
				|  |  |  * Created at 2016/10/10.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     static private final Logger logger = LoggerFactory.getLogger(SigarUtil.class);
 | 
	
		
			
				|  |  |     public final static Sigar sigar = initSigar();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static Sigar initSigar() {
 | 
	
	
		
			
				|  | @ -49,7 +50,7 @@ public class SigarUtil {
 | 
	
		
			
				|  |  | //        double d = 0;
 | 
	
		
			
				|  |  | //        String f = df.format(d);
 | 
	
		
			
				|  |  | //        double e = Double.parseDouble(String.format("%.2f", d));
 | 
	
		
			
				|  |  | //        System.out.println(e);
 | 
	
		
			
				|  |  | //        logger.info(e);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -81,41 +82,41 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |         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"));
 | 
	
		
			
				|  |  |         logger.info("用户名:    " + userName);
 | 
	
		
			
				|  |  |         logger.info("计算机名:    " + computerName);
 | 
	
		
			
				|  |  |         logger.info("计算机域名:    " + userDomain);
 | 
	
		
			
				|  |  |         logger.info("本地ip地址:    " + ip);
 | 
	
		
			
				|  |  |         logger.info("本地主机名:    " + addr.getHostName());
 | 
	
		
			
				|  |  |         logger.info("JVM可以使用的总内存:    " + r.totalMemory());
 | 
	
		
			
				|  |  |         logger.info("JVM可以使用的剩余内存:    " + r.freeMemory());
 | 
	
		
			
				|  |  |         logger.info("JVM可以使用的处理器个数:    " + r.availableProcessors());
 | 
	
		
			
				|  |  |         logger.info("Java的运行环境版本:    " + props.getProperty("java.version"));
 | 
	
		
			
				|  |  |         logger.info("Java的运行环境供应商:    " + props.getProperty("java.vendor"));
 | 
	
		
			
				|  |  |         logger.info("Java供应商的URL:    " + props.getProperty("java.vendor.url"));
 | 
	
		
			
				|  |  |         logger.info("Java的安装路径:    " + props.getProperty("java.home"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机规范版本:    " + props.getProperty("java.vm.specification.version"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机规范供应商:    " + props.getProperty("java.vm.specification.vendor"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机规范名称:    " + props.getProperty("java.vm.specification.name"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机实现版本:    " + props.getProperty("java.vm.version"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机实现供应商:    " + props.getProperty("java.vm.vendor"));
 | 
	
		
			
				|  |  |         logger.info("Java的虚拟机实现名称:    " + props.getProperty("java.vm.name"));
 | 
	
		
			
				|  |  |         logger.info("Java运行时环境规范版本:    " + props.getProperty("java.specification.version"));
 | 
	
		
			
				|  |  |         logger.info("Java运行时环境规范供应商:    " + props.getProperty("java.specification.vender"));
 | 
	
		
			
				|  |  |         logger.info("Java运行时环境规范名称:    " + props.getProperty("java.specification.name"));
 | 
	
		
			
				|  |  |         logger.info("Java的类格式版本号:    " + props.getProperty("java.class.version"));
 | 
	
		
			
				|  |  |         logger.info("Java的类路径:    " + props.getProperty("java.class.path"));
 | 
	
		
			
				|  |  |         logger.info("加载库时搜索的路径列表:    " + props.getProperty("java.library.path"));
 | 
	
		
			
				|  |  |         logger.info("默认的临时文件路径:    " + props.getProperty("java.io.tmpdir"));
 | 
	
		
			
				|  |  |         logger.info("一个或多个扩展目录的路径:    " + props.getProperty("java.ext.dirs"));
 | 
	
		
			
				|  |  |         logger.info("操作系统的名称:    " + props.getProperty("os.name"));
 | 
	
		
			
				|  |  |         logger.info("操作系统的构架:    " + props.getProperty("os.arch"));
 | 
	
		
			
				|  |  |         logger.info("操作系统的版本:    " + props.getProperty("os.version"));
 | 
	
		
			
				|  |  |         logger.info("文件分隔符:    " + props.getProperty("file.separator"));
 | 
	
		
			
				|  |  |         logger.info("路径分隔符:    " + props.getProperty("path.separator"));
 | 
	
		
			
				|  |  |         logger.info("行分隔符:    " + props.getProperty("line.separator"));
 | 
	
		
			
				|  |  |         logger.info("用户的账户名称:    " + props.getProperty("user.name"));
 | 
	
		
			
				|  |  |         logger.info("用户的主目录:    " + props.getProperty("user.home"));
 | 
	
		
			
				|  |  |         logger.info("用户的当前工作目录:    " + props.getProperty("user.dir"));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -182,37 +183,37 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |     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());//
 | 
	
		
			
				|  |  |         logger.info("操作系统:    " + OS.getArch());
 | 
	
		
			
				|  |  |         logger.info("操作系统CpuEndian():    " + OS.getCpuEndian());//
 | 
	
		
			
				|  |  |         logger.info("操作系统DataModel():    " + OS.getDataModel());//
 | 
	
		
			
				|  |  |         // 系统描述
 | 
	
		
			
				|  |  |         System.out.println("操作系统的描述:    " + OS.getDescription());
 | 
	
		
			
				|  |  |         logger.info("操作系统的描述:    " + OS.getDescription());
 | 
	
		
			
				|  |  |         // 操作系统类型
 | 
	
		
			
				|  |  |         // System.out.println("OS.getName():    " + OS.getName());
 | 
	
		
			
				|  |  |         // System.out.println("OS.getPatchLevel():    " + OS.getPatchLevel());//
 | 
	
		
			
				|  |  |         // logger.info("OS.getName():    " + OS.getName());
 | 
	
		
			
				|  |  |         // logger.info("OS.getPatchLevel():    " + OS.getPatchLevel());//
 | 
	
		
			
				|  |  |         // 操作系统的卖主
 | 
	
		
			
				|  |  |         System.out.println("操作系统的卖主:    " + OS.getVendor());
 | 
	
		
			
				|  |  |         logger.info("操作系统的卖主:    " + OS.getVendor());
 | 
	
		
			
				|  |  |         // 卖主名称
 | 
	
		
			
				|  |  |         System.out.println("操作系统的卖主名:    " + OS.getVendorCodeName());
 | 
	
		
			
				|  |  |         logger.info("操作系统的卖主名:    " + OS.getVendorCodeName());
 | 
	
		
			
				|  |  |         // 操作系统名称
 | 
	
		
			
				|  |  |         System.out.println("操作系统名称:    " + OS.getVendorName());
 | 
	
		
			
				|  |  |         logger.info("操作系统名称:    " + OS.getVendorName());
 | 
	
		
			
				|  |  |         // 操作系统卖主类型
 | 
	
		
			
				|  |  |         System.out.println("操作系统卖主类型:    " + OS.getVendorVersion());
 | 
	
		
			
				|  |  |         logger.info("操作系统卖主类型:    " + OS.getVendorVersion());
 | 
	
		
			
				|  |  |         // 操作系统的版本号
 | 
	
		
			
				|  |  |         System.out.println("操作系统的版本号:    " + OS.getVersion());
 | 
	
		
			
				|  |  |         logger.info("操作系统的版本号:    " + OS.getVersion());
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static void who() throws SigarException {
 | 
	
		
			
				|  |  |         Who who[] = sigar.getWhoList();
 | 
	
		
			
				|  |  |         if (who != null && who.length > 0) {
 | 
	
		
			
				|  |  |             for (int i = 0; i < who.length; i++) {
 | 
	
		
			
				|  |  |                 // System.out.println("当前系统进程表中的用户名" + String.valueOf(i));
 | 
	
		
			
				|  |  |                 // logger.info("当前系统进程表中的用户名" + String.valueOf(i));
 | 
	
		
			
				|  |  |                 Who _who = who[i];
 | 
	
		
			
				|  |  |                 System.out.println("用户控制台:    " + _who.getDevice());
 | 
	
		
			
				|  |  |                 System.out.println("用户host:    " + _who.getHost());
 | 
	
		
			
				|  |  |                 // System.out.println("getTime():    " + _who.getTime());
 | 
	
		
			
				|  |  |                 logger.info("用户控制台:    " + _who.getDevice());
 | 
	
		
			
				|  |  |                 logger.info("用户host:    " + _who.getHost());
 | 
	
		
			
				|  |  |                 // logger.info("getTime():    " + _who.getTime());
 | 
	
		
			
				|  |  |                 // 当前系统进程表中的用户名
 | 
	
		
			
				|  |  |                 System.out.println("当前系统进程表中的用户名:    " + _who.getUser());
 | 
	
		
			
				|  |  |                 logger.info("当前系统进程表中的用户名:    " + _who.getUser());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -307,12 +308,12 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |                     || 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());//
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "IP地址:" + cfg.getAddress());// IP地址
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "网关广播地址:" + cfg.getBroadcast());// 网关广播地址
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "网卡MAC地址:" + cfg.getHwaddr());// 网卡MAC地址
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "子网掩码:" + cfg.getNetmask());// 子网掩码
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "网卡描述信息:" + cfg.getDescription());// 网卡描述信息
 | 
	
		
			
				|  |  |             logger.info(cfg.getName() + "网卡类型" + cfg.getType());//
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -341,7 +342,7 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |             long txbps = ((txBytesEnd - txBytesStart) * 8 / 1024) / ((end - start) / 1000);
 | 
	
		
			
				|  |  |             bps.put("rxbps", rxbps);
 | 
	
		
			
				|  |  |             bps.put("txbps", txbps);
 | 
	
		
			
				|  |  |             System.out.println("#######rxbps: " + rxbps + " txbps: " + txbps);
 | 
	
		
			
				|  |  |             logger.info("#######rxbps: " + rxbps + " txbps: " + txbps);
 | 
	
		
			
				|  |  |         } catch (SigarException e) {
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |         }
 |