当前位置:  开发笔记 > 编程语言 > 正文

如何以编程方式找出我的PermGen空间使用情况?

如何解决《如何以编程方式找出我的PermGen空间使用情况?》经验,为你挑选了1个好方法。

我正在尝试java.lang.OutOfMemoryError: PermGen Space在Sun的Hotspot JVM上运行时诊断错误,并且想知道我的程序在不同点上使用了多少PermGen空间.有没有办法以编程方式查找此信息?



1> kgiannakakis..:

你可以使用这样的东西:

Iterator iter = ManagementFactory.getMemoryPoolMXBeans().iterator();
while (iter.hasNext())
{
    MemoryPoolMXBean item = iter.next();
    String name = item.getName();
    MemoryType type = item.getType();
    MemoryUsage usage = item.getUsage();
    MemoryUsage peak = item.getPeakUsage();
    MemoryUsage collections = item.getCollectionUsage();
}

这将为您提供所有类型的内存.您对"Perm Gen"类型感兴趣.


谢谢,这很有效.我正在使用MemoryPoolMXBean,其中name.equalsIgnoreCase("Perm Gen").
推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有