40.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ファイルに次の内容を追加します。[Unit] Description=Enable Transparent Hugepages After=local-fs.target Before=sysinit.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/sh -c 'echo always > /sys/kernel/mm/transparent_hugepage/enabled [Install] WantedBy=multi-user.targetTHP を無効にするには、
<new_thp_file>.serviceファイルに次の内容を追加します。[Unit] Description=Disable Transparent Hugepages After=local-fs.target Before=sysinit.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled [Install] WantedBy=multi-user.targetTHP を
madviseに設定するには、<new_thp_file>.serviceファイルに次の内容を追加します。[Unit] Description=Madvise Transparent Hugepages After=local-fs.target Before=sysinit.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/sh -c 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled [Install] WantedBy=multi-user.target
サービスを有効にして起動します。
# systemctl enable <new_thp_file>.service# systemctl start <new_thp_file>.service
検証
THP のステータスを確認するには、次のファイルを表示します。
$ cat /sys/kernel/mm/transparent_hugepage/enabled