プライマリ・コンテンツに移動
Java Platform, Standard Edition HotSpot仮想マシン・ガベージ・コレクション・チューニング・ガイド
リリース9
E90926-02
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
1
ガベージ・コレクションのチューニングの概要
ガベージ・コレクタとは
ガベージ・コレクタの選択が問題になる理由
ドキュメントでサポートされているオペレーティング・システム
2
エルゴノミクス
ガベージ・コレクタ、ヒープおよびランタイム・コンパイラのデフォルト選択
動作ベースのチューニング
最大一時停止時間目標
スループット目標
フットプリント
チューニング方法
3
ガベージ・コレクタの実装
世代別ガベージ・コレクション
世代
パフォーマンスに関する考慮事項
スループットおよびフットプリントの測定
4
ガベージ・コレクションのパフォーマンスに影響する要因
ヒープの合計サイズ
世代サイズに影響するヒープ・オプション
ヒープ・サイズのデフォルト・オプションの値
Javaヒープ・サイズの最小化による動的フットプリントの節約
若い世代
若い世代のサイズ・オプション
Survivor領域のサイズ設定
5
使用可能なコレクタ
シリアル・コレクタ
パラレル・コレクタ
モーストリ・コンカレント・コレクタ
コレクタの選択
6
パラレル・コレクタ
パラレル・コレクタのガベージ・コレクタのスレッド数
パラレル・コレクタでの世代の配置
パラレル・コレクタ・エルゴノミクス
パラレル・コレクタの動作を指定するオプション
パラレル・コレクタの目標の優先度
パラレル・コレクタの世代サイズの調整
パラレル・コレクタのデフォルト・ヒープ・サイズ
パラレル・コレクタのヒープ・サイズの初期値と最大値の指定
過剰なパラレル・コレクタ時間とOutOfMemoryError
パラレル・コレクタの測定
7
モーストリ・コンカレント・コレクタ
モーストリ・コンカレント・コレクタのオーバーヘッド
8
コンカレント・マーク・スイープ(CMS)コレクタ
コンカレント・マーク・スイープ・コレクタのパフォーマンスと構造
並行モードの失敗
過剰なGC時間とOutOfMemoryError
コンカレント・マーク・スイープ・コレクタとフローティング・ガベージ
コンカレント・マーク・スイープ・コレクタの一時停止
コンカレント・マーク・スイープ・コレクタのコンカレント・フェーズ
コンカレント・コレクション・サイクルの開始
一時停止のスケジューリング
コンカレント・マーク・スイープ・コレクタの測定
9
ガベージファースト・ガベージ・コレクタ
ガベージファースト・ガベージ・コレクタの概要
G1の有効化
基本概念
ヒープ・レイアウト
ガベージ・コレクション・サイクル
ガベージファーストの内部
開始ヒープ占有率の決定
マーキング
非常にタイトなヒープの状況における動作
大型オブジェクト
若い世代のみのフェーズの世代のサイズ設定
領域回収フェーズの世代のサイズ設定
G1 GCのエルゴノミック・デフォルト
他のコレクタとの比較
10
ガベージファースト・ガベージ・コレクタのチューニング
G1の一般的な推奨事項
他のコレクタからG1への移行
G1パフォーマンスの向上
フル・ガベージ・コレクションの監視
大型オブジェクトの断片化
レイテンシのためのチューニング
通常と異なるシステムまたはリアル・タイムの使用状況
処理に長時間かかる参照オブジェクト
時間がかかりすぎる若い世代のみのコレクション
時間がかかりすぎる混合コレクション
高いRSの更新およびRSのスキャン時間
スループットのためのチューニング
ヒープ・サイズのためのチューニング
チューニング可能なデフォルト設定
11
その他の考慮事項
ファイナライズと弱参照、ソフト参照およびファントム参照
明示的なガベージ・コレクション
ソフト参照
クラス・メタデータ