JVM
JVM
顾于归
这个作者很懒,什么都没留下…
展开
-
JVM 调优
核心思路:避免不该进入老年代的对象(使用次数较少的)进入老年代,从而减少full gc的频率。理想情况下系统不发生full gc,只发生young gc,老年代里的对象占用内存处于一个稳定的值。 full gc的表现: CPU经常负载过高 系统处理请求速度过慢或者无法处理请求 full gc频繁的原因: 每次young gc存活的对象内存大于Survivor区可用内存,从而进入老年代,导致频繁full gc 每次创建的对象过大,直接进入老年代,导致频繁full gc 系统发生内存泄露,...原创 2021-08-09 15:37:38 · 82 阅读 · 0 评论 -
JVM young gc和full gc触发条件
young gc: Eden区可用内存不足 full gc: 老年代达到某一阈值(默认92%) 方法区可用内存不足 在young gc之前,会先检查老年代最大可用的连续空间是否大于新生代所有对象的总空间。如果小于,说明YGC是不安全的,则会查看参数 HandlePromotionFailure 是否被设置成了允许担保失败,如果不允许则直接触发Full GC;如果允许,那么会进一步检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果小于会触发 Full GC;大...原创 2021-08-09 14:09:01 · 2077 阅读 · 0 评论