說明:獲取的數據是操作系統整體的資源佔用情況,不是當前 java進程佔用的資源
1. 獲取系統CPU佔用情況
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
private static OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
public static int cpuLoad() {
double cpuLoad = osmxb.getSystemCpuLoad();
int percentCpuLoad = (int) (cpuLoad * 100);
return percentCpuLoad;
}
注意:JDK必須是1.8及以上的
返回的值是CPU的百分比,取的是整數值
2. 獲取系統內存佔用情況
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
private static OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
public static int memoryLoad() {
double totalvirtualMemory = osmxb.getTotalPhysicalMemorySize();
double freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize();
double value = freePhysicalMemorySize/totalvirtualMemory;
int percentMemoryLoad = (int) ((1-value)*100);
return percentMemoryLoad;
}
注意:JDK爲1.6及以上版本
返回的值是內存的百分比,取的是整數值