变量和类型 | 方法 | 描述 |
---|---|---|
long |
getCommittedVirtualMemorySize() |
以字节为单位返回保证可供运行进程使用的虚拟内存量,如果不支持此操作,则 -1 。 |
long |
getFreePhysicalMemorySize() |
以字节为单位返回可用物理内存量。 |
long |
getFreeSwapSpaceSize() |
返回可用交换空间量(以字节为单位)。 |
double |
getProcessCpuLoad() |
返回Java虚拟机进程的“最近的cpu用法”。 |
long |
getProcessCpuTime() |
返回运行Java虚拟机的进程使用的CPU时间(以纳秒为单位)。 |
double |
getSystemCpuLoad() |
返回整个系统的“最近的cpu使用率”。 |
long |
getTotalPhysicalMemorySize() |
以字节为单位返回物理内存总量。 |
long |
getTotalSwapSpaceSize() |
以字节为单位返回交换空间的总量。 |
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+"秒"); } }