【发布时间】:2011-10-01 09:14:36
【问题描述】:
垃圾收集日志中的“Full GC (System)”条目是什么意思?那个叫 System.gc() 的类?
我的垃圾收集日志有两种不同的“完整 gc”条目类型?一个带有“系统”一词,另一个没有。有什么区别?
(更新:我搜索了这个词并没有找到明确的答案,只有几个问题。所以我想我会发布它。
系统:
164638.058:[Full GC (系统) [PSYoungGen:22789K->0K(992448K)] [PSOldGen: 1645508K->1666990K(2097152K)] 1668298K->1666990K(3089600K) [PSPermGen: 164914K->164914K(166720K)], 5.7499132 秒] [时间:用户=5.69 系统=0.06, 真实=5.75 秒]
无系统:
166687.013: [完整 GC [PSYoungGen: 126501K->0K(922048K)] [PSOldGen: 2063794K->1598637K(2097152K)] 2190295K->1598637K(3019200K) [PSPermGen: 165840K->164249K(166016K)], 6.8204928 秒] [时间:用户=6.80 系统=0.02, 真实=6.81 秒]
GC 选项
我们与 gc 相关的 java 内存选项有: -Xloggc:../server/pe/log/jvm_gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
我们不使用'-XX:+DisableExplicitGC',所以可能某些错误的类确实调用了 System.gc()
fwiw,我们完整的 jvm 选项:
-Xms3072m -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:-UseGCOverheadLimit -Xloggc:../server/pe/log/jvm_gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:MaxPermSize=256m -XX :+UseCompressedOops
提前致谢,
会
【问题讨论】: