获取cpu、内存、硬盘使用情况
import java.io.File; import java.lang.management.ManagementFactory; import com.sun.management.OperatingSystemMXBean;
public class CpuMemDisk { public static void main(String[] args) { getMemInfo(); System.out.println(); getDiskInfo(); while(true) { OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); //获取CPU double cpuLoad = osmxb.getSystemCpuLoad(); int percentCpuLoad = (int) (cpuLoad * 100); //获取内存 // double totalvirtualMemory = osmxb.getTotalPhysicalMemorySize(); // double freePhysicalMemorySize = osmxb.getFreePhysicalMemorySize(); // double value = freePhysicalMemorySize/totalvirtualMemory; // int percentMemoryLoad = (int) ((1-value)*100); // System.out.println("CPU = "+ percentCpuLoad + ", Mem = " + percentMemoryLoad); System.out.println("CPU = "+ percentCpuLoad + "%"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } }
} public static void getDiskInfo() { File[] disks = File.listRoots(); for(File file : disks) { System.out.print(file.getPath() + " "); System.out.print("空闲未使用 = " + file.getFreeSpace() / 1024 / 1024 + "M" + " ");// 空闲空间 System.out.print("已经使用 = " + (file.getTotalSpace()-file.getUsableSpace()) / 1024 / 1024 + "M" + " ");// 可用空间 System.out.print("总容量 = " + file.getTotalSpace() / 1024 / 1024 + "M" + " ");// 总空间 System.out.println(); } } public static void getMemInfo() { OperatingSystemMXBean mem = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); System.out.println("Total RAM:" + mem.getTotalPhysicalMemorySize() / 1024 / 1024 + "MB"); System.out.println("Available RAM:" + mem.getFreePhysicalMemorySize() / 1024 / 1024 + "MB"); System.out.println("Used RAM:" + (mem.getTotalPhysicalMemorySize()-mem.getFreePhysicalMemorySize()) / 1024 / 1024 + "MB"); } }