web-dev-qa-db-ja.com

-Xmn jvmオプションの意味

-Xmnオプションについてインターネットで検索しようとしましたが、成功しませんでした。

誰かがこれが何を表しているのか、それを使ってJVMを調整する方法を説明できますか?

51
Bhushan

From here:

-Xmn:若い世代のヒープのサイズ

若い世代は、寿命の短いすべてのオブジェクトを表します。若い世代のオブジェクトは、ガベージコレクターが頻繁に通過するヒープ内の特定の場所にあります。新しいオブジェクトはすべて、若い世代の領域(「eden」と呼ばれる)に作成されます。生き残ったオブジェクトが2-3 gc以上のクリーニングを行ってもまだ「生きている」場合、スワップは「古い世代」を持ち、それらは「生き残り」です。

IBM からのより「公式な」ソース:

-Xmn

-Xgcpolicy:genconを使用する場合、新しい(保育園)ヒープの初期サイズと最大サイズを指定された値に設定します。 -Xmnsと-Xmnxの両方を設定することと同等です。 -Xmnsまたは-Xmnxを設定した場合、-Xmnは設定できません。 -Xmnsまたは-Xmnxで-Xmnを設定しようとすると、VMは開始されず、エラーが返されます。デフォルトでは、-Xmnはシステムの能力に応じて内部的に選択されます。 -verbose:sizesオプションを使用して、VMが現在使用している値を見つけることができます。

58
awksp

OracleのGCパフォーマンスチューニングトレーニングドキュメントから:

-Xmn [size]:若い世代のヒープ領域のサイズ。

パフォーマンスを重視するアプリケーションでは、-Xmnを使用して若い世代のサイズを決定する傾向があります。これは、-XX:MaxNewSizeと-XX:NewSizeの使用を組み合わせたものであり、ほとんど常に明示的に-XX:PermSizeおよび-XXを設定するためです。 :MaxPermSizeを同じ値に。

つまり、NewSizeおよびMaxNewSizeNew generationの値を同じ値に設定します。

8
noego

-Xmn:若い世代のヒープのサイズ若い世代は、寿命の短いすべてのオブジェクトを表します。若い世代のオブジェクトは、ガベージコレクターが頻繁に通過するヒープ内の特定の場所にあります。新しいオブジェクトはすべて、若い世代の領域(「eden」と呼ばれる)に作成されます。生き残ったオブジェクトが2-3 gc以上のクリーニングを行ってもまだ「生きている」場合、スワップは「古い世代」になります:それらは「生き残り」です。

良いサイズは33%

ソース

4
dimoniy