java+jvm+log_JVM参数和jvm.log

参数说明:

-Xms 初始堆大小-Xmx 最大堆大小-Xmn 年轻代大小 eden + 2survivor space-XX:SurvivorRatio=8Eden区与Survivor区的大小比值-XX:PermSize 设置持久代(perm gen)初始值-XX:MaxPermSize 设置持久代最大值-Xss 每个线程的堆栈大小-XX:CMSInitiatingOccupancyFraction=年老代使用空间比达到这个值时开始cms gc-XX:+PrintGCApplicationStoppedTime 打印垃圾回收期间程序暂停的时间-XX:+PrintGCApplicationConcurrentTime 打印每次垃圾回收前,程序未中断的执行时间-XX:+PrintHeapAtGC 打印GC前后的详细堆栈信息

测试配置:

-Xms1000m -Xmx1000m -Xmn400m-XX:PermSize=128m -XX:MaxPermSize=128m-Xss512k-XX:+UseConcMarkSweepGC -XX:+UseParNewGC-XX:SurvivorRatio=8

-XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data/lxx.jvm-XX:CMSInitiatingOccupancyFraction=80

Young GC:

日志:

2015-01-15T16:04:24.237+0800: 1691.665: [GC 1691.665: [ParNew: 350110K->22406K(368640K), 0.0055010 secs] 430492K->105988K(983040K), 0.0055690 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]

日志说明:

2015-01-15T16:04:24.237+0800: 1691.665: [

GC1691.665: [ # (Young GC) 时间戳

ParNew: # ParNew(使用ParNew作为年轻代的垃圾回收期)

350110K->22406K(368640K), # 年轻代 回收前大小->回收后大小(年轻代容量)0.0055010secs # 回收时间

]

430492K->105988K(983040K), # 堆 回收前大小->回收后大小(堆容量)0.0055690secs # 回收时间

] [

Times: user=0.02 sys=0.00, real=0.01secs # Young GC用户耗时, Young GC系统耗时, Young GC实际耗时

]

内存容量

年轻代: 368640K(360M)= 400M / (8 + 1 + 1) * (8 + 1) (始终闲置着40M)

堆: 983040K(960M)= 1000M -40M

内存变化:

年轻代: 368640K(360M) 350110K- 22406K =327704K

堆: 983040K(960M) 430492K- 105988K =324504K

327704K- 324504K = 3200K 被移动到了Old Gen

Full GC

日志:

2015-01-15T16:29:53.894+0800: 3221.322: [Full GC 3221.322: [CMS: 614343K->614234K(614400K), 0.4258390 secs] 982961K->973059K(983040K), [CMS Perm : 121449K->121449K(131072K)], 0.4259380 secs] [Times: user=0.43 sys=0.00, real=0.42 secs]

2015-01-15T16:28:49.218+0800: 3156.645: [Full GC (System) 3156.645: [CMS2015-01-15T16:28:49.377+0800: 3156.805: [CMS-concurrent-mark: 0.165/0.166 secs] [Times: user=0.19 sys=0.00, real=0.17 secs]

日志说明:

Full GC (System) # 显式调用System.gc产生的2015-01-15T16:29:53.894+0800: 3221.322: [

Full GC3221.322: [ # (Full GC) 时间戳

CMS:

614343K->614234K(614400K), # old区 回收前大小->回收后大小(old区容量)0.4258390secs # 回收时间

]

982961K->973059K(983040K), [ # 堆 回收前大小->回收后大小(堆容量)

CMS Perm : 121449K->121449K(131072K) # Perm区 回收前大小->回收后大小(Perm区容量)

],0.4259380secs # 回收时间

] [

Times: user=0.43 sys=0.00, real=0.42secs

]

内存容量

Old区: 614400K(600M)= 1000M - 400M = 960M -360M

堆: 983040K(960M)

内存变化:

Old区: 614400K(600M) 614343K- 614234K =109K

堆: 983040K(960M) 982961K- 973059K = 9902K

ParNew (promotion failed)

发生在新生代晋升老年代时,老年代空间不够或连续空间不够却还没达到old区的触发值,引发Full Gc.

2015-01-15T16:26:07.003+0800: 2994.431: [GC 2994.431: [ParNew (promotion failed): 351815K->349784K(368640K), 0.0095780 secs]2994.441: [CMS2015-01-15T16:26:07.074+0800: 2994.502: [CMS-concurrent-mark: 1.043/1.166 secs] [Times: user=4.25 sys=0.03, real=1.16 secs]

concurrent mode failure

发生在CMS GC 运行过程中,老年代空间不足,引发MSC

2015-01-15T16:26:07.003+0800: 2994.431: [GC 2994.431: [ParNew (promotion failed): 351815K->349784K(368640K), 0.0095780 secs]2994.441: [CMS2015-01-15T16:26:07.074+0800: 2994.502: [CMS-concurrent-mark: 1.043/1.166 secs] [Times: user=4.25 sys=0.03, real=1.16 secs]

(concurrent mode failure): 614155K->614338K(614400K), 0.5011370 secs] 960545K->632140K(983040K), [CMS Perm : 121434K->121434K(131072K)], 0.5108440 secs] [Times: user=0.52 sys=0.00, real=0.51 secs]

[参考] http://hot66hot.iteye.com/blog/2075819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值