Quantcast
Channel: Oracle Blogs 日本語のまとめ
Viewing all articles
Browse latest Browse all 760

[Java] Longer Young Collections with JDK7 as Compared to JDK6

$
0
0
原文はこちら。
https://blogs.oracle.com/poonam/entry/longer_young_collections_with_jdk7

JDK 6からJDK 7へ移行した結果、Young世代のGCがJDK 6当時よりも時間を要している場合、以下のオプションで改善できます。
-XX:+JavaObjectsInPerm
JDK 7では、クラスの統計情報や、intern()を使った文字列をPermGenからJava Heapへ移動しており、その結果少々Young世代のGCに要する時間が増加しています。JavaObjectsInPermというオプションを有効化すると、JDK 6での仕組みに戻すことができます。つまり、クラスの統計情報やintern()を使った文字列をPermGen領域に割り当てます。

それゆえ、PermGenのチューニングは問題ではなく、Young世代のGC時間が悩みの種なのであれば、-XX:+JavaObjectsInPermを使うとその悩みが緩和されることでしょう。ご注意頂きたいのは、このオプションはJDK 7u80から利用可能になった、ということです。Diagnostic VMオプションとして以下のCRで利用可能になりました。
Minor GC times doubled from JDK 6u35 to JDK 7u51
https://bugs.openjdk.java.net/browse/JDK-8048271
診断オプションなので、次のオプションと一緒に使う必要があります。
-XX:+UnlockDiagnosticVMOptions
JDK 8ではPermGenが削除されたため、このオプションはJDK 8では使えませんので、ご注意ください。

Viewing all articles
Browse latest Browse all 760

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>