39.6. transparent huge page の管理
Red Hat Enterprise Linux 9 では、transparent huge page (THP) がデフォルトで有効になっています。ただし、ランタイム設定、TuneD プロファイル、カーネルコマンドラインパラメーター、または systemd ユニットファイルを使用すると、transparent huge page を有効、無効、または madvise
に設定できます。
39.6.1. ランタイム設定を使用した transparent huge page の管理 リンクのコピーリンクがクリップボードにコピーされました!
実行時に transparent huge page (THP) を管理して、メモリー使用量を最適化できます。ランタイム設定はシステムの再起動後まで保持されません。
手順
THP のステータスを確認します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を設定します。
THP を有効にする場合:
echo always > /sys/kernel/mm/transparent_hugepage/enabled
$ echo always > /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にする場合:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
$ echo never > /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を
madvise
に設定する場合:echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
$ echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションが必要以上に多くのメモリーリソースを割り当てることを防ぐには、システム全体の THP を無効にし、
madvise
システムコールを通じて THP を明示的に要求するアプリケーションに対してのみ THP を有効にします。注記短期的な割り当てのレイテンシーが低くなると、有効期間の長い割り当てで最適パフォーマンスをすぐに実現するよりも優先度が高くなります。この場合は、THP を有効にしたままでも直接圧縮を無効にできます。
直接圧縮は、huge page の割り当て中の同期メモリー圧縮です。直接圧縮を無効にすると、メモリーの保存は保証されませんが、頻繁なページ障害の発生時にレイテンシーが高くなる可能性が減ります。また、直接圧縮を無効にすると、
madvise
で示される仮想メモリー領域 (VMA) の同期圧縮のみが可能になります。ワークロードが THP から著しく異なる場合に、パフォーマンスが低下する点に注意してください。直接圧縮を無効にします。$ echo never > /sys/kernel/mm/transparent_hugepage/defrag
39.6.2. TuneD プロファイルを使用した transparent huge page の管理 リンクのコピーリンクがクリップボードにコピーされました!
TuneD プロファイルを使用して transparent huge page (THP) を管理できます。TuneD プロファイルの設定は、tuned.conf
ファイルで指定します。この設定はシステムの再起動後も維持されます。
前提条件
-
TuneD
パッケージがインストールされている。 -
TuneD
サービスが有効になっている。
手順
アクティブなプロファイルファイルを同じディレクトリーにコピーします。
sudo cp -R /usr/lib/tuned/my_profile /usr/lib/tuned/my_copied_profile
$ sudo cp -R /usr/lib/tuned/my_profile /usr/lib/tuned/my_copied_profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tune.conf
ファイルを編集します。sudo vi /usr/lib/tuned/my_copied_profile/tuned.conf
$ sudo vi /usr/lib/tuned/my_copied_profile/tuned.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を有効にするには、次の行を追加します。
[bootloader] cmdline = transparent_hugepage=always
[bootloader] cmdline = transparent_hugepage=always
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にするには、次の行を追加します。
[bootloader] cmdline = transparent_hugepage=never
[bootloader] cmdline = transparent_hugepage=never
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を
madvise
に設定するには、次の行を追加します。[bootloader] cmdline = transparent_hugepage=madvise
[bootloader] cmdline = transparent_hugepage=madvise
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
TuneD
サービスを再起動します。sudo systemctl restart tuned
$ sudo systemctl restart tuned
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいプロファイルをアクティブに設定します。
sudo tuned-adm profile my_copied_profile
$ sudo tuned-adm profile my_copied_profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しいプロファイルがアクティブであることを確認します。
sudo tuned-adm active
$ sudo tuned-adm active
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP の必要なモードが設定されていることを確認します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
39.6.3. カーネルコマンドラインパラメーターを使用した transparent huge page の管理 リンクのコピーリンクがクリップボードにコピーされました!
カーネルパラメーターを変更することで、起動時に transparent huge page (THP) を管理できます。この設定はシステムの再起動後も維持されます。
前提条件
- システムの root 権限がある。
手順
現在のカーネルコマンドラインパラメーターを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カーネルパラメーターを追加して THP を設定します。
THP を有効にする場合:
grubby --args="transparent_hugepage=always" --update-kernel=DEFAULT
# grubby --args="transparent_hugepage=always" --update-kernel=DEFAULT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にする場合:
grubby --args="transparent_hugepage=never" --update-kernel=DEFAULT
# grubby --args="transparent_hugepage=never" --update-kernel=DEFAULT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を
madvise
に設定する場合:grubby --args="transparent_hugepage=madvise" --update-kernel=DEFAULT
# grubby --args="transparent_hugepage=madvise" --update-kernel=DEFAULT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
システムを再起動して変更を有効にします。
reboot
# reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
THP のステータスを確認するには、次のファイルを表示します。
cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]
# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow grep AnonHugePages: /proc/meminfo
# grep AnonHugePages: /proc/meminfo AnonHugePages: 0 kB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow grep nr_anon_transparent_hugepages /proc/vmstat
# grep nr_anon_transparent_hugepages /proc/vmstat nr_anon_transparent_hugepages 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
39.6.4. systemd ユニットファイルを使用した transparent huge page の管理 リンクのコピーリンクがクリップボードにコピーされました!
systemd ユニットファイルを使用すると、システムの起動時に transparent huge page (THP) を管理できます。systemd サービスを作成すると、システムの再起動後も THP 設定が維持されます。
前提条件
- システムの root 権限がある。
手順
-
THP を有効、無効、および
madvise
に設定するための新しい systemd サービスファイルを作成します。たとえば、/etc/systemd/system/disable-thp.service
です。 新しい systemd サービスファイルに次の内容を追加して THP を設定します。
THP を有効にするには、
<new_thp_file>.service
ファイルに次の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にするには、
<new_thp_file>.service
ファイルに次の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow THP を
madvise
に設定するには、<new_thp_file>.service
ファイルに次の内容を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サービスを有効にして起動します。
systemctl enable <new_thp_file>.service
# systemctl enable <new_thp_file>.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start <new_thp_file>.service
# systemctl start <new_thp_file>.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
THP のステータスを確認するには、次のファイルを表示します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow