web-dev-qa-db-ja.com

非サーバークラスマシンのXmx、Xms、MaxPermSizeのデフォルト値

Java 6non-server-class machine)の次のオプションのデフォルト値は何ですか?

  • -Xmx
  • -XX:MaxPermSize

Oracleの ドキュメント は次のように述べています。

サーバーVMを実行しているサーバークラスのマシンでは、ガベージコレクター(GC)が以前のシリアルコレクター(-XX:+ UseSerialGC)からパラレルコレクター(-XX:+ UseParallelGC)に変更されました。

そして

並列ガベージコレクタ(-XX:+ UseParallelGC)でVM(クライアントまたはサーバー)を実行しているサーバークラスのマシンでは、初期ヒープサイズと最大ヒープサイズが変更されています。

このページでは、非サーバークラスマシンのデフォルトについては説明していません。たとえば、初期ヒープサイズが「妥当な最小値」である場合のみです。 「manページ」 を見ると、Javaコマンドの場合、-Xms

デフォルト値は、システム構成に基づいて実行時に選択されます

48
Rich

Windows 7/32ビット上のJDK 1.6.0_29のデフォルト値:

-Xmx256m
-XX:MaxPermSize=64m

また、これらのオプションの値は、次のコマンドで出力できます。

Java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>&1

次に、MaxHeapSizeキーとMaxPermSizeキーを探し、デフォルト値を確認します。

uintx InitialHeapSize                          := 199947456       {product}
uintx MaxHeapSize                              := 268435456       {product}           
uintx MaxPermSize                               = 67108864        {pd product}        

こちら はUltimate HotSpot VM JDKの最後の5バージョン(7、8、9、10、11)のデフォルトと説明が記載されたオプションチートシートです。

70