このトピックでは、ヒープサイズとガベージコレクターを構成するために使用されるJava仮想マシン (JVM) 起動オプションについて説明します。
ヒープサイズの設定
ヒープサイズの設定に使用される一般的なJVMオプション
オプション | 説明 | 例 |
| 最大ヒープサイズを設定します。 |
|
| 最小ヒープサイズを設定します。 |
|
| 若い世代のサイズを設定します。 |
|
| スレッドのスタックサイズを設定します。 |
説明 JDK 5.0以降を使用する場合は、このオプションを1 MBに設定します。 以前のJDKバージョンを使用する場合は、このオプションを256 KBに設定します。 ビジネス要件に基づいて、各スレッドのスタックサイズを調整できます。 同じ物理メモリサイズの場合、このオプションの値が小さいほどスレッドが多いことを示します。 プロセス内のスレッド数はOSによって制限されます。 ほとんどの場合、プロセスは3,000から5,000のスレッドを持つことができます。 |
| 古い世代に対する若い世代の比率を設定します。 |
|
| 若い世代の2つのサバイバースペースに対するエデンスペースの比率を設定します。 |
|
| 永久世代の最大サイズを設定します。 |
|
| 若い世代のオブジェクトの年齢を設定します。 |
|
ガベージコレクターの設定
高スループットが必要なアプリケーション向けの一般的なガベージコレクタ (GC) オプション
オプション | 説明 | 例 |
| JVMに若い世代にパラレルGCを使用するように指示します。 | 例: |
| 並列GCがガベージコレクションに同時に使用できるスレッドの数を設定します。 説明 スレッド数とGC数を同じ値に設定することを推奨します。 | 例: |
| 旧世代のパラレルGCを使用するようにJVMに指示します。 説明 JDK 6.0を使用する場合は、古い世代のパラレルGCを選択できます。 | 例: |
| 若い世代の各ガベージコレクションの最大休止時間を設定します。 JVMは、このオプションの値を維持するために、若い世代のサイズを自動的に調整します。 | 例: |
| アダプティブサイズポリシーを有効にします。 このオプションを設定した場合、パラレルGCは自動的に若い世代のサイズとサバイバースペースの比率を調整して、最低のレイテンシまたは最適なガベージコレクション頻度を実現します。 パラレルGCのアダプティブサイズポリシーを常に有効にすることをお勧めします。 |
|
低レイテンシが必要なアプリケーションの一般的なGCオプション
オプション | 説明 | 例 |
| 旧世代の同時マークスイープ (CMS) GCを使用するようにJVMに指示します。 説明
|
|
| JVMに若い世代にパラレルGCを使用するように指示します。 並行GCとCMS GCは、若い世代に同時に使用できます。 JDK 5.0以降を使用する場合、JVMはシステム設定に基づいてこのオプションを自動的に設定します。 この場合、このオプションを設定する必要はありません。 |
|
| CMS GCは、ヒープ領域をコンパクト化または管理しません。 したがって、フラグメント化は、CMS GCが特定の期間実行された後に起こる。 その結果、アプリケーションの実行効率が低下する可能性がある。 このオプションは、ヒープ領域を圧縮または管理する前に、CMS GCがヒープを実行する必要がある回数を指定します。 | 例: |
| 古い世代のヒープのコンパクションを有効にします。 説明 このオプションを有効にすると、断片化の問題は回避できますが、システムのパフォーマンスが低下する可能性があります。 |
|
一般的な冗長GCオプション
オプション | 説明 |
| GCログを印刷します。 |
| GCの詳細を印刷します。 |
| JVMが起動した時刻から現在の日付までのGCタイムスタンプを出力します。 例:
|
| GCタイムスタンプを日付として出力します。 例:
|
| ガベージコレクションの前後にヒープ情報を出力します。 |
| ログファイルの出力パスを設定します。 |