如何从代码中获取java中物理和虚拟内存的当前使用情况?

问题描述 投票:0回答:1

我需要使用java代码获取当前在我的计算机上使用的物理和虚拟内存的百分比。

java memory memory-management
1个回答
0
投票

不知道你想要做什么,但是,看看MemoryMXBeanMemoryPoolMXBeans

你可以这样做:

OperatingSystemMXBean osMBean = ManagementFactory.getOperatingSystemMXBean();

RuntimeMXBean runtimeMBean = ManagementFactory.getRuntimeMXBean();

System.out.println("Total physical memory:" + osMBean.getTotalPhysicalMemorySize() / 1024 + "kB");
System.out.println("Free physical memory:" + osMBean.getFreePhysicalMemorySize() / 1024 + "kB" );
System.out.println("Comm. virtual memory:" + osMBean.getProcessCpuTime() / 1024 + "kB" );
System.out.println("Total swap space:" + osMBean.getTotalSwapSpaceSize() / 1024 +" kB" );
System.out.println("Free swap space:" + osMBean.getFreeSwapSpaceSize() / 1024 +" kB" );
System.out.println("Operating system:" + osMBean.getName());
System.out.println("Arch:" + osMBean.getArch());
System.out.println("Processors:" + osMBean.getAvailableProcessors());
System.out.println("Process CPU time:" + osMBean.getProcessCpuTime() );
© www.soinside.com 2019 - 2024. All rights reserved.