0

0

Linux如何启用透明大页_Linux THP配置与性能影响【优化】

穿越時空

穿越時空

发布时间:2026-01-29 13:08:52

|

707人浏览过

|

来源于php中文网

原创

启用透明大页(THP)的方法有三种:一、临时启用,执行echo always > /proc/sys/vm/transparent_hugepage/enabled;二、永久启用,修改GRUB参数添加transparent_hugepage=always并更新配置;三、通过systemd服务在启动后自动启用。

linux如何启用透明大页_linux thp配置与性能影响【优化】

如果您在Linux系统中需要调整内存管理策略以影响应用程序的性能表现,则可能需要启用或禁用透明大页(Transparent Huge Pages, THP)。以下是针对THP启用操作的具体方法:

一、通过sysfs接口启用THP

THP的状态可通过内核运行时参数/proc/sys/vm/transparent_hugepage/enabled进行动态控制。该接口支持三种模式:always、madvise和never,其中always模式即为启用THP的直接方式。

1、打开终端并切换至root用户权限。

2、执行命令:echo always > /proc/sys/vm/transparent_hugepage/enabled

3、验证是否生效:运行cat /proc/sys/vm/transparent_hugepage/enabled,输出应包含[always]标识。

二、通过GRUB启动参数永久启用THP

若需在系统每次启动时自动启用THP,须修改内核引导参数,使设置在初始化阶段即被加载。

1、编辑GRUB配置文件vim /etc/default/grub

2、定位到GRUB_CMDLINE_LINUX行,在引号内添加参数:transparent_hugepage=always

3、更新GRUB配置:对CentOS/RHEL执行grub2-mkconfig -o /boot/grub2/grub.cfg;对Ubuntu/Debian执行update-grub

4、重启系统使更改生效。

三、通过systemd临时服务启用THP

可创建一次性systemd服务,在系统启动后立即写入THP启用状态,适用于无法修改GRUB或需条件化启用的场景。

1、创建服务文件:touch /etc/systemd/system/thp-enable.service

BlackBox AI
BlackBox AI

AI编程助手,智能对话问答助手

下载

2、写入以下内容:[Unit]\nDescription=Enable Transparent Huge Pages\nAfter=multi-user.target\n\n[Service]\nType=oneshot\nExecStart=/bin/sh -c "echo always > /proc/sys/vm/transparent_hugepage/enabled"\nRemainAfterExit=yes\n\n[Install]\nWantedBy=multi-user.target

3、启用并启动服务:systemctl daemon-reload && systemctl enable --now thp-enable.service

四、检查THP当前内存使用状态

启用THP后,需确认内核是否实际分配了大页内存,而非仅开启开关。相关统计信息位于/proc/meminfo中,用于验证THP是否正在参与内存映射。

1、运行命令:grep -i huge /proc/meminfo

2、重点观察AnonHugePages字段值,非零表示已有匿名内存通过THP分配。

3、同时检查HugePages_TotalHugePages_Free,确认是否混用标准hugetlbfs大页与THP。

五、禁用THP以规避性能下降风险

某些工作负载(如内存随机访问密集型数据库)在启用THP后可能出现延迟抖动或周期性停顿,此时需主动禁用以恢复确定性性能。

1、临时禁用:执行echo never > /proc/sys/vm/transparent_hugepage/enabled

2、永久禁用:在GRUB_CMDLINE_LINUX中将参数改为transparent_hugepage=never,并更新引导配置。

3、同步禁用释放行为:向/proc/sys/vm/transparent_hugepage/defrag写入never,防止内核后台线程触发昂贵的内存合并操作。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1132

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

213

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1760

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

20

2026.01.19

线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

503

2023.08.10

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

223

2023.12.07

vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

267

2023.08.01

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

358

2023.06.29

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8万人学习

Git 教程
Git 教程

共21课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号