第4章 Shenandoah ガベッジコレクターの基本設定オプション


Shenandoah ガベージコレクター (GC) には、以下の基本的な設定オプションがあります。

-Xlog:gc
個別の GC タイミングを出力します。
-Xlog:gc+ergo
ヒューリスティックな決定を出力します。これにより、外れ値が明らかになることがあります。
-Xlog:gc+stats

実行の最後に Shenandoah 内部タイミングでサマリーテーブルを出力します。

これは、ロギングが有効な状態で実行することが最適です。このサマリー表は、GC パフォーマンスに関する重要な情報を通知します。ヒューリスティックログは、GC の外れ値を判断するのに便利です。

-XX:+AlwaysPreTouch
ヒープページをメモリーにコミットし、レイテンシーの問題を減らすのに役立ちます。
-Xms および -Xmx
-Xms = -Xmx でヒープをサイズ変更不可にすると、ヒープ管理が容易になります。AlwaysPreTouch では、-Xms = -Xmx は起動時にすべてのメモリーをコミットします。これにより、メモリーが最後に使用されたときに問題が発生するのを回避します。-Xms は、メモリーアンコミットの低境界も定義するため、-Xms = -Xmx はすべてコミットされたままになります。フットプリントを低く設定するために Shenandoah を設定する場合は、-Xms を低く設定することが推奨されます。コミット/コミット解除のオーバーヘッドとメモリーフットプリントのバランスを取るために、どの程度低く設定するかを決める必要があります。多くの場合、-Xms は自由裁量で低く設定できます。
-XX:+UseLargePages
hugetlbfs Linux サポートを有効にします。
-XX:+UseTransparentHugePages
Huge Page を透過的に有効にします。透過的な Huge Page では、/sys/kernel/mm/transparent_hugepage/enabled/sys/kernel/mm/transparent_hugepage/defragmadvise に設定することを推奨します。AlwaysPreTouch で実行すると、起動時に defrag ツールツールの負荷を負うことになります。
-XX:+UseNUMA
Shenandoah はまだ NUMA を明示的にサポートしていませんが、マルチソケットホストで NUMA インターリービングを有効にすることが推奨されます。AlwaysPreTouch と組み合わせることで、デフォルトの設定よりも優れたパフォーマンスが得られます。
-XX:-UseBiasedLocking
競合のない (バイアス) ロックスループットにはトレードオフがあり、JVM がそれらを有効または無効にする安全なポイントがあります。レイテンシー指向のワークロードの場合は、バイアスロックをオフにします。
-XX:+DisableExplicitGC
ユーザーコードから System.gc() を呼び出すと、Shenandoah に追加の GC サイクルの実行が強制されます。-XX:+ExplicitGCInvokesConcurrent がデフォルトで有効になるため、通常は問題はありません。つまり、STW Full GC ではなく、同時 GC サイクルが呼び出されることを意味します。

改訂日時: 2024-05-04

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.