java獲取系統CPU、內存佔用

說明:獲取的數據是操作系統整體的資源佔用情況,不是當前 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及以上版本

           返回的值是內存的百分比,取的是整數值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章