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");
}
}