36.6. transparent huge page の管理
Red Hat Enterprise Linux 9 では、transparent huge page (THP) がデフォルトで有効になっています。ただし、ランタイム設定、TuneD プロファイル、カーネルコマンドラインパラメーター、または systemd ユニットファイルを使用すると、transparent huge page を有効、無効、または madvise に設定できます。
36.6.1. ランタイム設定を使用した transparent huge page の管理 リンクのコピーリンクがクリップボードにコピーされました!
実行時に transparent huge page (THP) を管理して、メモリー使用量を最適化できます。ランタイム設定はシステムの再起動後まで保持されません。
手順
THP のステータスを確認します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabledCopy 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/enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にする場合:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
$ echo never > /sys/kernel/mm/transparent_hugepage/enabledCopy 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/enabledCopy 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
36.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_profileCopy 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.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP を有効にするには、次の行を追加します。
[bootloader] cmdline = transparent_hugepage=always
[bootloader] cmdline = transparent_hugepage=alwaysCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にするには、次の行を追加します。
[bootloader] cmdline = transparent_hugepage=never
[bootloader] cmdline = transparent_hugepage=neverCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP を
madviseに設定するには、次の行を追加します。[bootloader] cmdline = transparent_hugepage=madvise
[bootloader] cmdline = transparent_hugepage=madviseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
TuneDサービスを再起動します。sudo systemctl restart tuned
$ sudo systemctl restart tunedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいプロファイルをアクティブに設定します。
sudo tuned-adm profile my_copied_profile
$ sudo tuned-adm profile my_copied_profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
新しいプロファイルがアクティブであることを確認します。
sudo tuned-adm active
$ sudo tuned-adm activeCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP の必要なモードが設定されていることを確認します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
36.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=DEFAULTCopy to Clipboard Copied! Toggle word wrap Toggle overflow THP を無効にする場合:
grubby --args="transparent_hugepage=never" --update-kernel=DEFAULT
# grubby --args="transparent_hugepage=never" --update-kernel=DEFAULTCopy 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=DEFAULTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
システムを再起動して変更を有効にします。
reboot
# rebootCopy 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 AnonHugePages: 0 kB
# grep AnonHugePages: /proc/meminfo AnonHugePages: 0 kBCopy to Clipboard Copied! Toggle word wrap Toggle overflow grep nr_anon_transparent_hugepages /proc/vmstat nr_anon_transparent_hugepages 0
# grep nr_anon_transparent_hugepages /proc/vmstat nr_anon_transparent_hugepages 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
36.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>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start <new_thp_file>.service
# systemctl start <new_thp_file>.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
THP のステータスを確認するには、次のファイルを表示します。
cat /sys/kernel/mm/transparent_hugepage/enabled
$ cat /sys/kernel/mm/transparent_hugepage/enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow