OperatingSystemMXBean获取系统性能指标

OperatingSystemMXBean获取系统性能指标

方法名称 含义 单位
getFreePhysicalMemorySize 可用物理内存 字节
getTotalPhysicalMemorySize 总物理内存 字节
getFreeSwapSpaceSize 可用交换空间 字节
getTotalSwapSpaceSize 交换空间总量 字节
getCommittedVirtualMemorySize 已提交虚拟内存大小 字节
getProcessCpuLoad 进程CPU使用率(0~1之间)
getSystemCpuLoad 系统CPU使用率(0~1之间)
getAvailableProcessors 可用CPU核数
getProcessCpuTime 进程使用的 CPU 时间 纳秒
import com.sun.management.OperatingSystemMXBean;
import java.lang.management.ManagementFactory;

public class Test {
    public static void main(String[] args) throws InterruptedException {
        final long GB = 1024 * 1024 * 1024;
        OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
        System.out.println("进程CPU使用率: "+operatingSystemMXBean.getProcessCpuLoad()* 100+"%");
        System.out.println("系统CPU使用率: "+operatingSystemMXBean.getSystemCpuLoad()* 100+"%");
        System.out.println("物理内存总量: "+operatingSystemMXBean.getTotalPhysicalMemorySize()/GB+"GB");
        System.out.println("物理内存剩余可用量: "+operatingSystemMXBean.getFreePhysicalMemorySize()/GB+"GB");
        System.out.println("内存使用率: "+(double)100*operatingSystemMXBean.getFreePhysicalMemorySize()/operatingSystemMXBean.getTotalPhysicalMemorySize()+"%");
        System.out.println("交换空间总量: "+operatingSystemMXBean.getTotalSwapSpaceSize()/GB+"GB");
        System.out.println("交换空间剩余可用量: "+operatingSystemMXBean.getFreeSwapSpaceSize()/GB+"GB");
        System.out.println("CPU核心数: "+operatingSystemMXBean.getAvailableProcessors()+"个");
        System.out.println("已提交虚拟内存量: "+operatingSystemMXBean.getCommittedVirtualMemorySize());
        System.out.println("进程已使用CPU时间: "+operatingSystemMXBean.getProcessCpuTime()/1000000000.0+"秒");
    }
}

你可能感兴趣的:(操作系统原理,java,jvm,开发语言)