12.6.4. 使用 systemd 单元文件管理透明巨页
要在系统启动时管理透明大内存页(THP),请使用 systemd 单元文件。创建服务可确保在重启后一致的 THP 配置。
先决条件
- 您在系统上具有 root 权限。
流程
-
创建新的 systemd 服务文件,以启用、禁用 THP ,并将 THP 设置为
madvise。例如:/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.target要禁用 THP,请将以下内容添加到
<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.target要将 THP 设置为
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