|  | @ -9,7 +9,8 @@ import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  *  sigar 服务器硬件指标 工具类
 | 
	
		
			
				|  |  |  * sigar 服务器硬件指标 工具类
 | 
	
		
			
				|  |  |  *
 | 
	
		
			
				|  |  |  * @author HZY
 | 
	
		
			
				|  |  |  * @vsrsion 1.0
 | 
	
		
			
				|  |  |  * Created at 2016/10/10.
 | 
	
	
		
			
				|  | @ -17,6 +18,7 @@ import java.util.*;
 | 
	
		
			
				|  |  | public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public final static Sigar sigar = initSigar();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static Sigar initSigar() {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             //此处只为得到依赖库文件的目录,可根据实际项目自定义
 | 
	
	
		
			
				|  | @ -39,7 +41,7 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public URL getUrl(){
 | 
	
		
			
				|  |  |     public URL getUrl() {
 | 
	
		
			
				|  |  |         return this.getClass().getResource("/");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -53,9 +55,10 @@ public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 是否是windows系统
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static boolean isOSWin(){//OS 版本判断
 | 
	
		
			
				|  |  |     public static boolean isOSWin() {//OS 版本判断
 | 
	
		
			
				|  |  |         String OS = System.getProperty("os.name").toLowerCase();
 | 
	
		
			
				|  |  |         if (OS.indexOf("win") >= 0) {
 | 
	
		
			
				|  |  |             return true;
 | 
	
	
		
			
				|  | @ -66,6 +69,7 @@ public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 系统信息  jvm等
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @throws UnknownHostException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private static void property() throws UnknownHostException {
 | 
	
	
		
			
				|  | @ -117,41 +121,43 @@ public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 内存信息
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return 返回单位 :G
 | 
	
		
			
				|  |  |      * @throws SigarException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static Map<String,Object> memory() throws SigarException {
 | 
	
		
			
				|  |  |     public static Map<String, Object> memory() throws SigarException {
 | 
	
		
			
				|  |  |         Mem mem = sigar.getMem();
 | 
	
		
			
				|  |  |         Swap swap = sigar.getSwap();
 | 
	
		
			
				|  |  |         Map<String,Object> memory = new HashMap<>();
 | 
	
		
			
				|  |  |         memory.put("total",mem.getTotal() / 1024L/ 1024L/ 1024L);
 | 
	
		
			
				|  |  |         memory.put("used",mem.getUsed() / 1024L / 1024L/ 1024L);
 | 
	
		
			
				|  |  |         memory.put("free",mem.getFree() / 1024L / 1024L/ 1024L);
 | 
	
		
			
				|  |  |         memory.put("freePerc",mem.getFreePercent());
 | 
	
		
			
				|  |  |         memory.put("usedPerc",mem.getUsedPercent());
 | 
	
		
			
				|  |  |         Map<String, Object> memory = new HashMap<>();
 | 
	
		
			
				|  |  |         memory.put("total", getDouble((double)mem.getTotal() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("used",  getDouble((double)mem.getUsed() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("free",  getDouble((double)mem.getFree() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("freePerc", getDouble(mem.getFreePercent() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("usedPerc", getDouble(mem.getUsedPercent() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         //交换区
 | 
	
		
			
				|  |  |         memory.put("swapTotal",swap.getTotal() / 1024L / 1024L / 1024L);
 | 
	
		
			
				|  |  |         memory.put("swapUsed",swap.getUsed() / 1024L / 1024L / 1024L);
 | 
	
		
			
				|  |  |         memory.put("swapFree",swap.getFree() / 1024L / 1024L / 1024L);
 | 
	
		
			
				|  |  |         memory.put("swapTotal", getDouble((double)swap.getTotal() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("swapUsed",  getDouble((double)swap.getUsed() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         memory.put("swapFree", getDouble((double) swap.getFree() / 1024L / 1024L / 1024L));
 | 
	
		
			
				|  |  |         return memory;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * cpu使用情况
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws SigarException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static Map<String,Object> cpu() throws SigarException {
 | 
	
		
			
				|  |  |         Map<String,Object> cpuMap = new HashMap<>();
 | 
	
		
			
				|  |  |     public static Map<String, Object> cpu() throws SigarException {
 | 
	
		
			
				|  |  |         Map<String, Object> cpuMap = new HashMap<>();
 | 
	
		
			
				|  |  |         CpuInfo infos[] = sigar.getCpuInfoList();
 | 
	
		
			
				|  |  |         CpuPerc cpuPerc =  sigar.getCpuPerc();
 | 
	
		
			
				|  |  |         CpuPerc cpuPerc = sigar.getCpuPerc();
 | 
	
		
			
				|  |  |         CpuInfo info1 = infos[0];
 | 
	
		
			
				|  |  |         //cpu信息
 | 
	
		
			
				|  |  |         cpuMap.put("quantity",infos.length);
 | 
	
		
			
				|  |  |         cpuMap.put("model",info1.getModel());
 | 
	
		
			
				|  |  |         cpuMap.put("totalCores",info1.getTotalCores());
 | 
	
		
			
				|  |  |         cpuMap.put("totalSockets",info1.getTotalSockets());
 | 
	
		
			
				|  |  |         cpuMap.put("Mhz",info1.getMhz());
 | 
	
		
			
				|  |  |         cpuMap.put("quantity", infos.length);
 | 
	
		
			
				|  |  |         cpuMap.put("model", info1.getModel());
 | 
	
		
			
				|  |  |         cpuMap.put("totalCores", info1.getTotalCores());
 | 
	
		
			
				|  |  |         cpuMap.put("totalSockets", info1.getTotalSockets());
 | 
	
		
			
				|  |  |         cpuMap.put("Mhz", info1.getMhz());
 | 
	
		
			
				|  |  |         //cpu使用率
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String totalPerc = String.format("%.2f", cpuPerc.getCombined() * 100);
 | 
	
	
		
			
				|  | @ -161,12 +167,12 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |         String nice = String.format("%.2f", cpuPerc.getNice() * 100);
 | 
	
		
			
				|  |  |         String freePerc = String.format("%.2f", cpuPerc.getIdle() * 100);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         cpuMap.put("totalPerc",Double.parseDouble(totalPerc));
 | 
	
		
			
				|  |  |         cpuMap.put("userPerc",Double.parseDouble(userPerc));
 | 
	
		
			
				|  |  |         cpuMap.put("sysPerc",Double.parseDouble(sysPerc));
 | 
	
		
			
				|  |  |         cpuMap.put("wait",Double.parseDouble(wait));
 | 
	
		
			
				|  |  |         cpuMap.put("nice",Double.parseDouble(nice));
 | 
	
		
			
				|  |  |         cpuMap.put("freePerc",Double.parseDouble(freePerc));
 | 
	
		
			
				|  |  |         cpuMap.put("totalPerc", getDouble(cpuPerc.getCombined() * 100));
 | 
	
		
			
				|  |  |         cpuMap.put("userPerc", getDouble(cpuPerc.getUser() * 100));
 | 
	
		
			
				|  |  |         cpuMap.put("sysPerc", getDouble(cpuPerc.getSys() * 100));
 | 
	
		
			
				|  |  |         cpuMap.put("wait", getDouble(cpuPerc.getWait() * 100));
 | 
	
		
			
				|  |  |         cpuMap.put("nice", getDouble(cpuPerc.getNice() * 100));
 | 
	
		
			
				|  |  |         cpuMap.put("freePerc", getDouble(cpuPerc.getIdle() * 100));
 | 
	
		
			
				|  |  |         return cpuMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -215,51 +221,51 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 硬盘信息
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static List<Map<String,Object>> file()  {
 | 
	
		
			
				|  |  |         List<Map<String,Object>> files = new ArrayList<>();
 | 
	
		
			
				|  |  |         Map<String,Object> fileMap = null;
 | 
	
		
			
				|  |  |     public static List<Map<String, Object>> file() {
 | 
	
		
			
				|  |  |         List<Map<String, Object>> files = new ArrayList<>();
 | 
	
		
			
				|  |  |         Map<String, Object> fileMap = null;
 | 
	
		
			
				|  |  |         FileSystem fslist[] = new FileSystem[0];
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             fslist = sigar.getFileSystemList();
 | 
	
		
			
				|  |  |         for (int i = 0; i < fslist.length; i++) {
 | 
	
		
			
				|  |  |             FileSystem fs = fslist[i];
 | 
	
		
			
				|  |  |             fileMap = new HashMap<>();
 | 
	
		
			
				|  |  |             for (int i = 0; i < fslist.length; i++) {
 | 
	
		
			
				|  |  |                 FileSystem fs = fslist[i];
 | 
	
		
			
				|  |  |                 fileMap = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             switch (fs.getType()) {
 | 
	
		
			
				|  |  |                 case 0: // TYPE_UNKNOWN :未知
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 1: // TYPE_NONE
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 2: // TYPE_LOCAL_DISK : 本地硬盘
 | 
	
		
			
				|  |  |                     FileSystemUsage usage  = sigar.getFileSystemUsage(fs.getDirName());
 | 
	
		
			
				|  |  |                     fileMap.put("devName",fs.getDevName());
 | 
	
		
			
				|  |  |                     fileMap.put("dirName",fs.getDirName());
 | 
	
		
			
				|  |  |                     fileMap.put("flags",fs.getFlags());
 | 
	
		
			
				|  |  |                     fileMap.put("sysTypeName",fs.getSysTypeName());
 | 
	
		
			
				|  |  |                     fileMap.put("typeName",fs.getTypeName());
 | 
	
		
			
				|  |  |                     fileMap.put("type",fs.getType());
 | 
	
		
			
				|  |  |                 switch (fs.getType()) {
 | 
	
		
			
				|  |  |                     case 0: // TYPE_UNKNOWN :未知
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 1: // TYPE_NONE
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 2: // TYPE_LOCAL_DISK : 本地硬盘
 | 
	
		
			
				|  |  |                         FileSystemUsage usage = sigar.getFileSystemUsage(fs.getDirName());
 | 
	
		
			
				|  |  |                         fileMap.put("devName", fs.getDevName());
 | 
	
		
			
				|  |  |                         fileMap.put("dirName", fs.getDirName());
 | 
	
		
			
				|  |  |                         fileMap.put("flags", fs.getFlags());
 | 
	
		
			
				|  |  |                         fileMap.put("sysTypeName", fs.getSysTypeName());
 | 
	
		
			
				|  |  |                         fileMap.put("typeName", fs.getTypeName());
 | 
	
		
			
				|  |  |                         fileMap.put("type", fs.getType());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     fileMap.put("total",usage.getTotal()  / 1024L / 1024L);
 | 
	
		
			
				|  |  |                     fileMap.put("free",usage.getFree() / 1024L / 1024L );
 | 
	
		
			
				|  |  |                     fileMap.put("aVall",usage.getAvail() / 1024L / 1024L );//可用大小
 | 
	
		
			
				|  |  |                     fileMap.put("used",usage.getUsed() / 1024L / 1024L );
 | 
	
		
			
				|  |  |                     fileMap.put("usePercent", usage.getUsePercent() * 100D );
 | 
	
		
			
				|  |  |                         fileMap.put("total", usage.getTotal() / 1024L / 1024L);
 | 
	
		
			
				|  |  |                         fileMap.put("free", usage.getFree() / 1024L / 1024L);
 | 
	
		
			
				|  |  |                         fileMap.put("aVall", usage.getAvail() / 1024L / 1024L);//可用大小
 | 
	
		
			
				|  |  |                         fileMap.put("used", usage.getUsed() / 1024L / 1024L);
 | 
	
		
			
				|  |  |                         fileMap.put("usePercent", usage.getUsePercent() * 100D);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     fileMap.put("diskRead", usage.getDiskReads() );
 | 
	
		
			
				|  |  |                     fileMap.put("diskWrite", usage.getDiskWrites() );
 | 
	
		
			
				|  |  |                     files.add(fileMap);
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 3:// TYPE_NETWORK :网络
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 4:// TYPE_RAM_DISK :闪存
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 5:// TYPE_CDROM :光驱
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case 6:// TYPE_SWAP :页面交换
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |                         fileMap.put("diskRead", usage.getDiskReads());
 | 
	
		
			
				|  |  |                         fileMap.put("diskWrite", usage.getDiskWrites());
 | 
	
		
			
				|  |  |                         files.add(fileMap);
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 3:// TYPE_NETWORK :网络
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 4:// TYPE_RAM_DISK :闪存
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 5:// TYPE_CDROM :光驱
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case 6:// TYPE_SWAP :页面交换
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } catch (SigarException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -268,24 +274,29 @@ public class SigarUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 网络信息
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static Map<String,Object> net() throws Exception {
 | 
	
		
			
				|  |  |         List<Map<String,Object>> netList = new ArrayList<>();
 | 
	
		
			
				|  |  |         Map<String,Object> netMap = new HashMap<>();
 | 
	
		
			
				|  |  |         NetInterfaceConfig netConfig = sigar.getNetInterfaceConfig();
 | 
	
		
			
				|  |  |         NetInterfaceStat netIfStat = sigar.getNetInterfaceStat(netConfig.getName());
 | 
	
		
			
				|  |  |         Map<String,Object> bps = populate(netConfig.getName());//bps
 | 
	
		
			
				|  |  |         netMap.put("address",netConfig.getAddress());
 | 
	
		
			
				|  |  |         netMap.put("broadcast",netConfig.getBroadcast());
 | 
	
		
			
				|  |  |         netMap.put("netmask",netConfig.getNetmask());
 | 
	
		
			
				|  |  |         netMap.put("rxPackets",netIfStat.getRxPackets());
 | 
	
		
			
				|  |  |         netMap.put("txPackets",netIfStat.getTxPackets());
 | 
	
		
			
				|  |  |         netMap.put("rxBytes",netIfStat.getRxBytes());
 | 
	
		
			
				|  |  |         netMap.put("txBytes",netIfStat.getTxBytes());
 | 
	
		
			
				|  |  |         netMap.put("txPackets",netIfStat.getTxPackets());
 | 
	
		
			
				|  |  |         netMap.put("txbps",bps.get("txbps"));
 | 
	
		
			
				|  |  |         netMap.put("rxbps",bps.get("rxbps"));
 | 
	
		
			
				|  |  |     public static Map<String, Object> net() {
 | 
	
		
			
				|  |  |         Map<String, Object> netMap = new HashMap<>();
 | 
	
		
			
				|  |  |         NetInterfaceConfig netConfig = null;
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             netConfig = sigar.getNetInterfaceConfig();
 | 
	
		
			
				|  |  |             NetInterfaceStat netIfStat = sigar.getNetInterfaceStat(netConfig.getName());
 | 
	
		
			
				|  |  |             Map<String, Object> bps = populate(netConfig.getName());//bps
 | 
	
		
			
				|  |  |             netMap.put("address", netConfig.getAddress());
 | 
	
		
			
				|  |  |             netMap.put("broadcast", netConfig.getBroadcast());
 | 
	
		
			
				|  |  |             netMap.put("netmask", netConfig.getNetmask());
 | 
	
		
			
				|  |  |             netMap.put("rxPackets", netIfStat.getRxPackets());
 | 
	
		
			
				|  |  |             netMap.put("txPackets", netIfStat.getTxPackets());
 | 
	
		
			
				|  |  |             netMap.put("rxBytes", netIfStat.getRxBytes());
 | 
	
		
			
				|  |  |             netMap.put("txBytes", netIfStat.getTxBytes());
 | 
	
		
			
				|  |  |             netMap.put("txPackets", netIfStat.getTxPackets());
 | 
	
		
			
				|  |  |             netMap.put("txbps", bps.get("txbps"));
 | 
	
		
			
				|  |  |             netMap.put("rxbps", bps.get("rxbps"));
 | 
	
		
			
				|  |  |         } catch (SigarException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return netMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -305,17 +316,18 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |             System.out.println(cfg.getName() + "网卡类型" + cfg.getType());//
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 網絡傳輸速率 bps
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param name
 | 
	
		
			
				|  |  |      * @throws SigarException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static Map<String,Object> populate(String name)
 | 
	
		
			
				|  |  |     public static Map<String, Object> populate(String name)
 | 
	
		
			
				|  |  |             throws SigarException {
 | 
	
		
			
				|  |  |         Map<String,Object> bps = new HashMap<>();
 | 
	
		
			
				|  |  |         Map<String, Object> bps = new HashMap<>();
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             long start = System.currentTimeMillis();
 | 
	
		
			
				|  |  |             NetInterfaceStat statStart = sigar.getNetInterfaceStat(name);
 | 
	
	
		
			
				|  | @ -326,15 +338,25 @@ public class SigarUtil {
 | 
	
		
			
				|  |  |             NetInterfaceStat statEnd = sigar.getNetInterfaceStat(name);
 | 
	
		
			
				|  |  |             long rxBytesEnd = statEnd.getRxBytes();
 | 
	
		
			
				|  |  |             long txBytesEnd = statEnd.getTxBytes();
 | 
	
		
			
				|  |  |             long rxbps = ((rxBytesEnd - rxBytesStart)*8/1024) / ((end-start)/1000);
 | 
	
		
			
				|  |  |             long txbps = ((txBytesEnd - txBytesStart)*8/1024) / ((end-start)/1000);
 | 
	
		
			
				|  |  |             bps.put("rxbps",rxbps);
 | 
	
		
			
				|  |  |             bps.put("txbps",txbps);
 | 
	
		
			
				|  |  |             System.out.println("#######rxbps: "+rxbps +" txbps: "+txbps);
 | 
	
		
			
				|  |  |             long rxbps = ((rxBytesEnd - rxBytesStart) * 8 / 1024) / ((end - start) / 1000);
 | 
	
		
			
				|  |  |             long txbps = ((txBytesEnd - txBytesStart) * 8 / 1024) / ((end - start) / 1000);
 | 
	
		
			
				|  |  |             bps.put("rxbps", rxbps);
 | 
	
		
			
				|  |  |             bps.put("txbps", txbps);
 | 
	
		
			
				|  |  |             System.out.println("#######rxbps: " + rxbps + " txbps: " + txbps);
 | 
	
		
			
				|  |  |         } catch (SigarException e) {
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return bps;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 获取两位小数的double值
 | 
	
		
			
				|  |  |      * @param value
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public static double getDouble(double value){
 | 
	
		
			
				|  |  |         String total = String.format("%.2f", value );
 | 
	
		
			
				|  |  |         return Double.parseDouble(total);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |