Dha*_*amy 7 java garbage-collection
我们的java进程占用了大量的CPU,并且日志显示它经常执行GC,即使已使用的内存大约为5GB(取自JMX控制台),而Min和Max内存为10GB.
我们的JVM参数是:JVM_GC =" - verbose:gc -Xnoclassgc -XX:+ PrintGCDetails -XX:+ UseParNewGC -XX:NewSize = 3GB -XX:ParallelGCThreads = 8 -XX:MaxTenuringThreshold = 15 -XX:+ UseConcMarkSweepGC"
和MinHeap = MaxHeap = 10GB
什么可能触发GC?为什么它经常发生并且太快?除了通过JMX获取一些设置之外,我们无法将任何类型的分析工具连接为其生产盒... 谢谢...... GC日志....
@ 2011-07-20 02:10:46
[Full GC(System)[CMS:3333423K-> 4019122K(7340032K),13.4979250 secs] 4876606K-> 4019122K(10171200K),[CMS Perm:21656K-> 21608K(21824K) ],13.4980930秒s] [时间:用户= 12.99 sys = 0.50,实际= 13.50秒]
[GC [1 CMS-initial-mark:4019122K(7340032K)] 4041525K(10171200K),0.0009110 secs] [次:用户= 0.00] sys = 0.00,real = 0.00 secs]
@ 2011-07-20 02:11:10
[CMS-concurrent-mark:10.322/10.753 secs] [时间:用户= 21.55 sys = 0.22,真实= 10.75秒]
[CMS- concurrent-preclean:0.035/0.036 secs] [次:用户= 0.04 sys = 0.00,real = 0.04 secs]
@ 2011-07-20 02:11:15
CMS:由于时间而中止预清洗[CMS-concurrent-abortable-preclean :1.083/5.063秒] [时间:用户= 1.08 sys = 0.00,实际= 5.06秒]
[GC [YG占用率:282204 K(2831168 K)] [重新扫描(平行),0.0402030秒] [弱参考处理,0.0010550秒]
[1 CMS-remark:4019122K(7340032K)] 4301 326K(10171200K),0.0413630 secs] [次:用户= 0.07 sys = 0.01,real = 0.04 secs]
@ 2011-07-20 02:11:16
[CMS-并发扫描:2.627/2.627秒] [时间:你 ser = 2.63 sys = 0.00,real = 2.63 secs]
[CMS-concurrent-reset:0.039/0.039 secs] [次:用户= 0.04 sys = 0.00,real = 0.04 secs]
@ 2011-07-20 02:11:20
[GC [1 CMS-initial-mark:4019034K(7340032K)] 4301238K(10171200K),0.0308450 secs] [次:用户= 0.03 sys = 0.00,real = 0.03 secs]
@ 2011-07-20 02:11:30
[ CMS并发标记:10.304/10.307秒] [时间:用户= 20.48 sys = 0.11,实际= 10.31秒]
[CMS-concurrent-preclean:0.018/0.019秒] [时间:用户= 0.02 sys = 0.00,real = 0.01秒]
@ 2011-07-20 02:11:35
CMS:由于时间而中止预扫 [CMS-并发 - 流产 - 预清洁:1.043/5.048秒]时间:用户= 1.03 sys = 0.00,实际= 5.05秒]
[ GC [YG占有率:282204 K(2831168 K)] [重新扫描(平行),0.0419560秒] [弱参考处理,0.0010880秒]
[1 CMS-备注:4019034K(7340032K)] 4301 238K(10171200K),0.0431480秒] [时间:用户= 0.07 sys = 0.01,实际= 0.05秒]
@ 2011-07-20 02:11:38
[CMS-concurrent-sweep:2.622/2.622 secs] [时间:用户= 2.63 sys = 0.00,real = 2.62 secs]
[CMS-concurrent-reset:0.039/0.039秒] [时间:user = 0.04 sys = 0.00,real = 0.04 secs]
尝试使用 UseCMSInitiatingOccupancyOnly 和 CMSInitiatingOccupancyFraction 标志。使用这些标志启动 CMS 收集将根据占用情况触发。此外,增加终身一代的规模可能是有意义的。
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |