[讨论] 请问触发perm gen gc的时机是?
whuBrian
2012-08-18
某次分享中了解到,hotspot可以配置一个参数,让jvm执行fullgc的时候,顺带去执行perm gen的gc,这个参数我一直没有找到,是不是不存在呢?
另外,perm gen在做full gc之前会不会先做full gc呢? 再一个是,perm gen如果做gc的话,如果full gc没有采用cms算法,那perm gc所用的算法是什么呢? 请各位牛牛不吝赐教:D ![]() |
|
caoxudong818
2012-08-19
你说的可能是这个参数
product CMSPermGenPrecleaningEnabled:Whether concurrent precleaning enabled in perm gen (effective only when CMSPrecleaningEnabled is true)
如果没有使用CMS的话,默认的应该会是PS吧。相关参数有:
product(uintx, MarkSweepDeadRatio, 5, "Percentage (0-100) of the old gen allowed as dead wood." "Serial mark sweep treats this as both the min and max value." "CMS uses this value only if it falls back to mark sweep." "Par compact uses a variable scale based on the density of the" "generation and treats this as the max value when the heap is" "either completely full or completely empty. Par compact also" "has a smaller default value; see arguments.cpp.")
product(uintx, PermMarkSweepDeadRatio, 20, "Percentage (0-100) of the perm gen allowed as dead wood." "See MarkSweepDeadRatio for collector-specific comments.")
至于perm gen和full gc的先后顺序,我就不太清楚了。
|
|
RednaxelaFX
2012-08-21
whuBrian 写道 某次分享中了解到,hotspot可以配置一个参数,让jvm执行fullgc的时候,顺带去执行perm gen的gc,这个参数我一直没有找到,是不是不存在呢?
HotSpot VM在做full GC时默认就会对PermGen做GC。要禁止对PermGen做GC需要配置-XX:-ClassUnloading(实际上并没有完全禁用PermGen的收集,里面的无用的interned String还是会被卸载掉,之类的)。 whuBrian 写道 另外,perm gen在做full gc之前会不会先做full gc呢?
PermGen的GC就是在full GC过程中做的。没有单独的过程。 如果用了CMS GC的话,那么可以配置-XX:+CMSClassUnloadingEnabled来在CMS GC(并发GC)中也收集PermGen。 whuBrian 写道 再一个是,perm gen如果做gc的话,如果full gc没有采用cms算法,那perm gc所用的算法是什么呢?
PermGen跟OldGen用的GC算法总是同一种。 |
|
whuBrian
2012-08-24
感谢两位的回答,学习了。
![]() |
相关讨论
相关资源推荐
- Java PermGen 去哪里了?
- java gc 触发条件_Minor GC ,Full GC 触发条件是什么?
- java ps old gen perm gen_JVM YoungGen(新生代),OldGen(年老代),和PermGen(持久区)
- JVM Minor GC 与 FullGC 的触发时机
- JVM之 方法区、永久代(PermGen space)、元空间(Metaspace)三者的区别
- java触发GC是什么_java触发full gc的几种情况概述
- java中gc触发的条件_Major GC和Full GC的区别是什么?触发条件呢?
- JVM--方法区(PermGen)
- java发生fullgc的时机_什么时候触发GC
- java堆 permgen_Java8内存模型—永久代(PermGen)和元空间(Metaspace)