7.4. Transparent Huge Page の設定

Transparent Huge Page (THP) は、HugeTLB の代わりとなるソリューションです。THP では、カーネルにより自動的に大規模ページがプロセスに割り当てられるため、大規模ページは手動で予約する必要がありません。
THP 機能には、システム全体とプロセスごとの 2 つの動作モードがあります。THP がシステム全体で有効な場合、カーネルは大規模ページを任意のプロセスに割り当てようとします (大規模ページを割り当てることができ、プロセスが大規模な連続仮想メモリー領域を使用しているとき)。THP がプロセスごとに有効な場合、カーネルは madvise() システムコールで指定された個別プロセスのメモリー領域のみに大規模ページを割り当てます。
THP 機能では 2-MB のページのみがサポートされることに注意してください。透過的な大規模ページはデフォルトで有効になります。現在のステータスを確認するには、次のコマンドを実行します。
# cat /sys/kernel/mm/transparent_hugepage/enabled
透過的な大規模ページを有効にするには、次のコマンドを実行します。
# echo always > /sys/kernel/mm/transparent_hugepage/enabled
アプリケーションが必要とする以上のメモリーリソースを割り当てるのを防ぐには、大規模ページをシステム全体で無効にし、次のコマンドを実行して MADV_HUGEPAGE madvise リージョン内部でのみ大規模ページを有効にします。
# echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
透過的な大規模ページを無効にするには、次のコマンドを実行します。
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
場合によっては、存続期間が長い割り当てで最良のパフォーマンスをすぐに実現するよりも存続期間が短い割り当てに低レイテンシーを提供する方が優先度が高いことがあります。このような場合は、THP を有効にしたままで direct compactiondisabled にします。
直接圧縮は、大規模ページの割り当て時に行われる同期的なメモリー圧縮です。直接圧縮を無効にすると、メモリーの節約は保証されませんが、ページフォールトが頻繁に発生するときにレイテンシーが高くなる可能性が低くなります。THP により負荷が大幅に改善される場合は、パフォーマンスが低下することに注意してください。直接圧縮を無効にするには、次のコマンドを実行します。
# echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
透過的な大規模ページの包括的な情報については、kernel-doc パッケージのインストール後に利用できる /usr/share/doc/kernel-doc-kernel_version/Documentation/vm/transhuge.txt ファイルを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。