我想Sun的Hotspot JVM运行时诊断java.lang.OutOfMemoryError: PermGen Space错误,并想知道有多少PermGen的空间,我的计划是在不同的点使用。有编程查不到这个信息的方式?

有帮助吗?

解决方案

您可以使用这样的:

Iterator<MemoryPoolMXBean> 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();
}

这会给你所有类型的存储器。你有兴趣“彼尔姆GEN”类型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top