我想构建一个MemoryWarningSystem,如许多文章所述: 例如如在http://www.javaspecialists.eu/archive/Issue092.html中那样。
因此,我想像这样确定终身空间:
private MemoryPoolMXBean findTenuredGenPool() {
for (MemoryPoolMXBean pool : ManagementFactory.getMemoryPoolMXBeans()) {
if(pool is tenured space)
return tenured
}
}
我已经看到了两种识别终身空间的方法
pool.getType() == MemoryType.HEAP && pool.isUsageThresholdSupported()
”问题1 :CMS Old Gen怎么样?其他终身空间怎么样?我应该将所有这些添加到终身名单列表吗?
问题2 :这是检索终身空间的“安全”方式吗?它可靠吗?
谢谢!
答案 0 :(得分:1)
对于旧空间的HotSpot JVM可能的内存池名称
Tenured Gen
PS Old Gen
CMS Old Gen
G1 Old Gen
对于JRockit
Old Space