sigar linux 文件和windows文件和sigar的jar包
链接: https://pan.baidu.com/s/1bGrupzmaOAjLEUE0gp6DmA 提取码: gj31
工具类
import com.sun.management.OperatingSystemMXBean;
import org.hyperic.sigar.*;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.management.ManagementFactory;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.text.DecimalFormat;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class MachineUtils {
private static String osName = System.getProperty("os.name");
/***
* 获取cpu平均值使用率
*/
public static Double getCPURate() {
Double CPURate = 0.0;
Double CPURate1 = 0.0;
try {
Sigar sigar = new Sigar();
CpuInfo infos[] = new CpuInfo[0];
infos = sigar.getCpuInfoList();
CpuPerc cpuList[] = null;
cpuList = sigar.getCpuPercList();
for (int i = 0; i < infos.length; i++) {// 不管是单块CPU还是多CPU都适用
CpuInfo info = infos[i];
CPURate += cpuList[i].getCombined();
}
CPURate1 = CPURate / infos.length;
} catch (SigarException e) {
e.printStackTrace();
}
CPURate1 = (double) Math.round(CPURate1 * 100);
return CPURate1;
}
/***
* 获取内存使用率
*/
public static String Memory(){
if (osName.toLowerCase().contains("windows") || osName.toLowerCase().contains("win")) {
String memory = getMemery();
return memory;
} else {
String memory = getMemUsage()+"";
return memory;
}
}
/**
* 获取windows内存使用率
*/
public static String getMemery() {
String format = "";
try {