如何通过java程序检查内存利用率?

时间:2010-12-23 21:44:38

标签: java

是否有任何本机java代码来检查程序使用的内存,或者唯一可能的方法是检查JVM自己使用的内存?
这可以纯粹在java中完成,还是我们需要外部流程才能完成这项工作?

4 个答案:

答案 0 :(得分:4)

我认为JConsole将是一个良好的开端。

答案 1 :(得分:1)

您可以使用java.lang.management.MemoryUsage或外部工具VisualVM(JDK附带)。

答案 2 :(得分:1)

我个人认为java.lang.management.MemoryMXBeanMemoryUsage更易于使用。您可以按如下方式获取程序使用的内存:

MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
long heapMemUsed = memoryBean.getHeapMemoryUsage().getUsed();
long otherMemUsed = memoryBean.getNonHeapMemoryUsage().getUsed();
long totalMemoryUsed = heapMemUsed + otherMemUsed;

答案 3 :(得分:0)

jConsole有什么东西不能提供吗?这显示了堆,类,线程,CPU和更多的东西。