我注意到每个使用java 7的年轻垃圾收集平均比使用java 6的年轻垃圾收集要多10个毫秒.我正在使用1.6.0_31
和1.7.0_21
.配置没有改变,硬件和JVM参数都没有改变:
-server -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+TieredCompilation -XX:+AggressiveOpts -Xms1g -Xmx1g -XX:MaxNewSize=256m -XX:NewSize=256m
Java 7:
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 26176.0 26176.0 3531.6 0.0 209792.0 21648.8 786432.0 86777.6 49472.0 49350.1 82 1.830 0 0.000 1.
Java 6
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 26176.0 26176.0 0.0 1210.5 209792.0 95873.4 786432.0 65327.1 35968.0 35891.2 83 0.620 0 0.000 0.620
我也查看了每个单独的时间,并且使用java 6,每个YGC
需要〜10ms vs java 7是20ms.版本6和版本7之间有什么变化可以解释这种行为吗?
编辑:我注意到java 7以64位模式运行,而java 6使用32位JVM,这可以解释其中的区别吗?
谢谢