上海建站资讯,wordpress 简约,忘记了wordpress,wordpress图片 转移oss上篇文章说jmap和jstat的命令#xff0c;如何查看youngGc和FullGc耗时和次数。 Jmap-JVM#xff08;十六#xff09; 
Jvm实际运行情况 
背景#xff1a; 
机器配置#xff1a;2核4G 
JVM内存大小#xff1a;2G 
系统运行天数#xff1a;7天 
期间发生FULL GC次数和耗时…上篇文章说jmap和jstat的命令如何查看youngGc和FullGc耗时和次数。 Jmap-JVM十六 
Jvm实际运行情况 
背景 
机器配置2核4G 
JVM内存大小2G 
系统运行天数7天 
期间发生FULL GC次数和耗时500多次200多秒 
期间发生Yoing GC次数和耗时1万多次500多秒 
算下来fullGC平均耗时0.4s每次400ms左右 
每天发生1万多次则每分钟发生1次每次YoungGC耗费50ms JVM参数配置 
-Xms1536M -Xmx1536M -Xmn512M -Xss256K -XX:SurvivorRatio6 
-XX:MetaspaceSize256M -XX:MaxMetaspaceSize256M 
-XX:UseParNewGC -XX:UseConcMarkSweepGC 
-XX:CMSInitiatingOccupancyFraction75 -XX:UseCMSInitiatingOccupancyOnly 通过以上参数我们可以分析出 
堆内存是1个G512M年轻代是512M老年代是1G因为比例是6:1:1年轻代eden则是384MS0和S1分别是64M线程栈256K元空间256M 前面我们说过 
大对象会进入老年代。对象年龄太大会进入老年代。对象动态年龄判断当进入对象大小大于这块survivor区域的百分之50会把大于年龄1的对象都放入老年代。老年代分配担保机制每次minor gc之前都会jvm计算老年代剩余可用空间如果这个可用空间小于年轻代里现在所有对象大小之和包括垃圾对象就会看参数 
-XX:HandlerPromotionFailure是否设置。如果没有设置则直接fullGC如果fullGC完还不能则会发生OOM。 
如何设置了则会看老年代可用空间大小是否小于每次minor gc对象平均大小。大于的话才会minor gc。