6

JDK1.7.0 で G1 ガベージ コレクタを使用していますが、VM はオプション G1YoungGenSize を認識しません。具体的には、実行すると:

java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1YoungGenSize=512m ...

次のエラーが表示されます。

Unrecognized VM option 'G1YoungGenSize=512m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

また、G1YoungGenSize の前に「+」記号を付けて試してみました。G1 ドキュメントの一部にそのように記載されているためです。

java -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+G1YoungGenSize=512m ...

しかし、同じエラーが発生します。

1.6 update 18 から 21 までの古い JDK を試してみました。G1YoungGenSize は update 20 で認識され、21 から最新の 1.7 ビルド (2010 年 8 月 19 日のスナップショット) まで壊れているようです。

このエラーの原因を知っている人はいますか?

4

1 に答える 1

6

これは、約 6 か月前に変更されたようです。

6928065: G1: 既存のコマンド ライン パラメータを使用して、若い世代のサイズを設定します http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/a1c410de27e4

1.6 で行われた変更は次のとおりです。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6928065

他の GC との一貫性を保つために、G1 は UseAdaptiveSizePolicy を観察して、若い世代のサイズを自動調整するかどうかを決定する必要があります。NewSize / MaxNewSize (および -Xmn) は、初期の最大サイズを決定する必要があります。

于 2010-08-29T11:29:42.950 に答える