Ben java 7 ile her genç çöp toplama java 6'dan ortalama 10 daha milisaniye olduğunu fark ettim. 6 1.6.0_31
ve 1.7.0_21
kullanıyorum. Yapılandırma değişti, ne donanıma sahiptir olmadı, JVM argümanlar şunlardır:Genç çöp toplama java 7 ve java 6 ile daha uzun duraklama 6
-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
Ayrıca her bireye baktım kez ve java 6 ile, her YGC
~ 10ms vs java 7 20ms alır. Bu davranışı açıklayabilecek 6 ve 7 arası bir şey değişti mi?
EDIT: java 7'nin 64 bit modunda çalıştığını, java 6'nın 32 bit JVM kullandığını fark ettim, bu farkı açıklayabilir mi?
Teşekkür
Eden'in büyüklüğünden şüpheleniyorum ve genç nesil varsayılan olarak farklı ve bu da bu tür davranışları değiştirebilir. Gerçek boyutları yazdırabilir misin? –
Farklı algoritma veya farklı parametreler. –