12.6.4. 使用 systemd 单元文件管理透明巨页


要在系统启动时管理透明大内存页(THP),请使用 systemd 单元文件。创建服务可确保在重启后一致的 THP 配置。

先决条件

  • 您在系统上具有 root 权限。

流程

  1. 创建新的 systemd 服务文件,以启用、禁用 THP ,并将 THP 设置为 madvise。例如:/etc/systemd/system/disable-thp.service
  2. 通过向新的 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
  3. 启用并启动服务:

    # systemctl enable <new_thp_file>.service
    # systemctl start <new_thp_file>.service

验证

  • 要验证 THP 的状态,请查看以下文件:

    $ cat /sys/kernel/mm/transparent_hugepage/enabled
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部