我们的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
[系统全GC(CMS)[CMS:3333423K->4019122K(7340032K),13.4979250秒] 4876606K->4019122K(10171200K),[CMS Perm:21656K->21608K(21824K)],13.4980930秒][时间:用户=12.99 sys=0.50,real=13.50秒]
[GC [1 CMS-initial-mark: 4019122K(7340032K)] 4041525K(10171200K),0.0009110秒] [时间:用户=0.00 sys=0.00,real=0.00秒]
@2011-07-20 02:11:10
[CMS-concurrent-mark: 10.322/10.753秒] [时间:用户=21.55 sys=0.22,real=10.75秒]
[CMS-concurrent-preclean: 0.035/0.036秒] [时间:用户=0.04 sys=0.00,real=0.04秒]
@2011-07-20 02:11:15
CMS:由于时间而中止预清理[CMS-concurrent-abortable-preclean: 1.083/5.063秒] [时间:用户=1.08 sys=0.00,real=5.06秒]
[GC [YG占用:282204 K(2831168 K)][重新扫描(并行),0.0402030秒][弱引用处理,0.0010550秒]
[1 CMS-remark: 4019122K(7340032K)] 4301326K(10171200K),0.0413630秒] [时间:用户=0.07 sys=0.01,real=0.04秒]
@2011-07-20 02:11:16
[CMS-concurrent-sweep: 2.627/2.627秒] [时间:用户=2.63 sys=0.00,real=2.63秒]
[CMS-concurrent-reset: 0.039/0.039秒] [时间:用户=0.04 sys=0.00,real=0.04秒]
@2011-07-20 02:11:20
[GC [1 CMS-initial-mark: 4019034K(7340032K)] 4301238K(10171200K),0.0308450秒] [时间:用户=0.03 sys=0.00,real=0.03秒]
@2011-07-20 02:11:30
[CMS-concurrent-mark: 10.304/10.307秒] [时间:用户=20.48 sys=0.11,real=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-concurrent-abortable-preclean: 1.043/5.048秒] 时间:用户=1.03 sys=0.00,real=5.05秒]
[GC [YG占用:282204 K(2831168 K)][重新扫描(并行),0.0419560秒][弱引用处理,0.0010880秒]
[1 CMS-remark: 4019034K(7340032K)] 4301238K(10171200K),0.0431480秒] [时间:用户=0.07 sys=0.01,real=0.05秒]
@2011-07-20 02:11:38
[CMS-concurrent-sweep: 2.622/2.622秒] [时间:用户=2.63 sys=0.00,real=2.62秒]
[CMS-concurrent-reset: 0.039/0.039秒