Java 仮想マシン設定

このページを使用して、 アプリケーション・サーバーのプロセスの Java 仮想マシン (JVM) 構成を表示および変更します。

この管理コンソール・ページを表示するには、「サーバー」>「アプリケーション・サーバー」>「server_name」>「プロセス定義」>「Java 仮想マシン」をクリックします。

「構成」タブ

クラスパス
Java 仮想マシン・コードがクラスを検索する標準クラスパスを指定します。

各クラスパス・エントリーを表の行に入力してください。 各エントリーの最後にコロンまたはセミコロンを付け加える必要はありません。

データ型 ストリング
単位 クラスパス
ブート・クラスパス
JVM コードのブートストラップ・クラスおよびリソースを指定します。 このオプションは、 ブートストラップ・クラスおよびリソースをサポートする JVM 命令でのみ使用可能です。 コロン (:) またはセミコロン (;) (ノードのオペレーティング・システムによって決まる) で複数のパスを分離できます。
データ型 ストリング
冗長クラス・ロード
クラス・ロードのために冗長デバッグ出力を使用するかどうかを指定します。 デフォルトでは、冗長クラス・ロードは使用可能ではありません。
データ型 ブール
デフォルト false
冗長ガーベッジ・コレクション
ガーベッジ・コレクションの冗長デバッグ出力を使用するかどうかを指定します。 デフォルトでは、冗長ガーベッジ・コレクションは使用可能ではありません。
データ型 ブール
デフォルト false
冗長 JNI
ネイティブ・メソッドの起動のために冗長デバッグ出力を使用するかどうかを指定します。 デフォルトでは、 冗長 Java ネイティブ・インターフェース (JNI) アクティビティーは使用可能ではありません。
データ型 ブール
デフォルト false
初期ヒープ・サイズ
JVM コードで使用可能な初期ヒープ・サイズ (メガバイト単位) を指定します。

最小ヒープ・サイズを増やすと、始動時間が短縮されます。ガーベッジ・コレクションの実行回数が減少するため、 パフォーマンスに 10% の向上が見られます。

一般に、Java ヒープのサイズを増やすと、物理メモリー中にヒープが 存在しなくなるまでは、スループットが向上します。 ディスクへのヒープのスワッピングが開始されると、Java パフォーマンスが 大幅に低下します。

データ型 整数
デフォルト OS/400 の場合は 64 で、それ以外のすべてのプラットフォームの場合は 50 です。
最大ヒープ・サイズ
JVM コードで使用可能な最大ヒープ・サイズ (メガバイト単位) を指定します。

ヒープ・サイズを増やすと、始動時間が短縮されます。ガーベッジ・コレクションの実行回数が減少するため、 パフォーマンスに 10% の向上が見られます。

一般に、Java ヒープのサイズを増やすと、物理メモリー中にヒープが 存在しなくなるまでは、スループットが向上します。 ディスクへのヒープのスワッピングが開始されると、Java パフォーマンスが 大幅に低下します。 したがって、最大ヒープ・サイズは、物理メモリー内にヒープが 収まるように小さく設定する必要があります。

データ型 整数
デフォルト OS/400 の場合は 0 で、 他のすべてのプラットフォームの場合は 256 です。ページングやメモリーからディスクへのスワップアウトを避けるために、値は小さくしておいてください。
HProf の実行
HProf プロファイラー・サポートを使用するかどうかを指定します。 別のプロファイラーを使用するには、「 HProf 引き数」の設定を使用してカスタム・プロファイラーの設定を指定します。 デフォルトでは、HProf プロファイラー・サポートは使用可能ではありません。

「HProf の実行」プロパティーを true に設定する場合は、「 HProf 引き数」プロパティーの値としてコマンド行プロファイラー引き数を指定する必要があります。

データ型 ブール
デフォルト false
HProf 引き数
アプリケーション・サーバー・プロセスを開始する JVM コードに渡すコマンド行プロファイラー引き数を指定します。 HProf プロファイラー・サポートが使用可能であるときは、引き数を指定できます。

HProf 引き数が必要になるのは、「 HProf の実行」プロパティーが true に設定されている場合のみです。

データ型 ストリング
デバッグ・モード
JVM をデバッグ・モードで実行するかどうかを指定します。 デフォルトでは、デバッグ・モード・サポートは使用可能ではありません。

「デバッグ・モード」プロパティーを true に設定する場合は、「 Debug Arguments」プロパティーの値としてコマンド行デバッグ引き数を指定する必要があります。

データ型 ブール
デフォルト false
デバッグ引き数
アプリケーション・サーバー・プロセスを開始する JVM コードに渡すコマンド行デバッグ引き数を指定します。 「デバッグ・モード」が使用可能である場合に、引き数を指定できます。

デバッグ引き数が必要になるのは、「 デバッグ・モード」プロパティーが true に設定されている場合のみです。

データ型 ストリング
単位 Java コマンド行の引き数
汎用 JVM 引き数
アプリケーション・サーバー・プロセスを始動する Java 仮想マシン・コードに渡すコマンド行引き数を指定します。

以下のオプションのコマンド行引き数は、「General JVM Arguments」フィールドに入力して使用します。

  • -Xquickstart: この値は、デフォルト・モードの場合よりも低い最適化レベルでの初期コンパイルに使用でき、 後で抽出結果に応じて、デフォルト・モードでの初期コンパイル・レベルに再コンパイルすることができます。クイック・スタートは、 長時間に渡るスループットよりも、初期段階での適度な速度が重要とされるアプリケーション に使用します。例えば、一部のデバッグ・シナリオ、一連のテスト、および実行時間の短いツールなどでは、開始時間を 15-20% の間に増やすことが可能です。-DCOPT_NQREACHDEF により、起動時間をさらに 15% 改善することができます。
  • -Xverify:none: この値を使用すると、クラスのロード中のクラス検証ステージがスキップされます。 ジャストインタイム (JIT) コンパイラーを使用可能にして -Xverify:none を使用することにより、 起動時間は 10 から 15% 改善されます。
  • -Xnoclassgc: この値を使用すると、クラスのガーベッジ・コレクションを使用不可にすることができるため、 クラスの再利用率が上がり、パフォーマンスが若干向上します。 クラスのガーベッジ・コレクションはデフォルトで使用可能になっていますが、 これは使用可能のままにすることをお勧めします。verbose:gc 構成設定を使用すると、 ガーベッジ・コレクションをモニターできます。 これは、verbose:gc の出力に、クラス・ガーベッジ・コレクションの統計が含まれているからです。
  • -Xgcthreads: ガーベッジ・コレクションのスレッドは、一度に複数使用することができ、 これは並列ガーベッジ・コレクションとしても知られています。 この値を「Generic JVM Arguments」フィールドに入力する場合は、 使用マシンに搭載されているプロセッサーの数も入力してください。 例えば、-Xgcthreads=number_of_processors とします。 使用マシンに複数のプロセッサーが搭載されている場合は、 並列ガーベッジ・コレクションを使用することをお勧めします。この引き数は、IBM Developer Kit にのみ適用されます。
  • -Xnocompactgc: この値を使用すると、 コストが最も高いガーベッジ・コレクション操作であるヒープ圧縮が使用不可になります。IBM Developer Kit では圧縮を行わないでください。 ヒープ圧縮を使用不可にすると、それに付随するすべてのオーバーヘッドがなくなります。この値を「Generic JVM Arguments」フィールドに入力する場合は、 使用マシンに搭載されているプロセッサーの数も入力してください。 例: -Xnocompactgc=number_of_processors
  • -Xinitsh: この値を使用すると、クラス・オブジェクトが格納される初期ヒープ・サイズを設定できます。 クラス・オブジェクトだけではなく、メソッド定義および静的フィールドも格納されます。 システムのヒープ・サイズに上限はありませんが、初期サイズを設定し、 システムのヒープ・サイズの拡張 (これには、オペレーティング・システムのメモリー・マネージャーの呼び出しが伴います) によるコストが発生しないようにしてください。Websphere 製品にロードされるクラスの数 (約 8,000 クラス) およびその平均サイズを知ることにより、適切な初期システム・ヒープ・サイズを算出できます。 アプリケーションに関する知識がある場合は、それらを計算に含めることができます。
  • -Xmc: スレッドのローカル・ヒープ・サイズは、 特定のスレッドに排他的に割り振られる、ヒープの一部分です。スレッドのローカル・ヒープ・サイズにより、 スレッドは、オブジェクトを割り振るときに、ヒープ全体をロックする必要がありません。 ただし、スレッドのローカル・ヒープが満杯の場合は、 同期化する必要のあるヒープからオブジェクトの割り振りが行われます。パフォーマンスの向上には、 アプリケーションおよびそのオブジェクトの知識に基づいて ローカル・キャッシュ・サイズを適切な値に設定することが重要です。
  • -Xml: この値を使用すると、 ローカル・キャッシュから割り振るオブジェクト・サイズに制限を設定することができます。 この制限サイズを超えるオブジェクトは、通常のヒープで割り振る必要があります。 オブジェクトはできるだけ多くローカル・キャッシュから割り振る必要があります。 ローカル・キャッシュは動的に増えることがないため、割り振っておかないと使い果たされてしまいます。 非常に大きくなるオブジェクトがあることが分かっている場合は、 それらのオブジェクトを通常のヒープから割り振ってください。

データ型 ストリング
単位 Java コマンド行引き数
実行可能 JAR ファイル名
JVM コードで使用する実行可能な JAR ファイルの絶対パス名を指定します。
データ型 ストリング
単位 パス名
JIT を使用不可にする
JVM コードのジャストインタイム (JIT) コンパイラー・オプションを使用不可にするかどうかを指定します。

JIT コンパイラーを使用不可にしている場合は、スループットが著しく減少します。したがって、 パフォーマンス上の理由から、JIT は使用可能のままにしてください。

データ型 ブール
デフォルト false (JIT は使用可能)
推奨 JIT は使用可能
オペレーティング・システム名
所定のオペレーティング・システムの JVM 設定を指定します。 このプロセスは、始動時に、 ノードのオペレーティング・システムの JVM 設定を使用します。
データ型 ストリング

関連情報

管理コンソールのボタン
管理コンソール・ページのフィーチャー
カスタム・プロパティー・コレクション