CentOS 永久关闭 THP

什么是THP?
Transparent Hugepage(THP)是一种内存管理技术,旨在提高大页面的性能,它通过将多个物理页合并为一个巨大的虚拟页,从而减少页面分割的开销,在某些情况下,THP可能会对性能产生负面影响,因此需要关闭它。
为什么需要关闭THP?
性能问题:在某些应用中,THP可能会导致性能下降,对于频繁进行文件I/O操作的应用,THP可能会增加延迟。
内存碎片:THP可能会导致内存碎片化,影响内存的使用效率。
兼容性问题:某些老旧的应用可能不兼容THP,导致运行不稳定。
如何在CentOS系统中关闭THP?

以下是在CentOS系统中关闭THP的步骤:
编辑
/etc/sysctl.conf文件: 使用文本编辑器打开/etc/sysctl.conf文件,添加以下行:vm.dirty_ratio = 90 vm.dirty_background_ratio = 10 vm.min_free_kbytes = 65536 vm.swappiness = 0 vm.overcommit_memory = 1 vm.overcommit_ratio = 50 vm.dirty_bytes = 80 vm.dirty_expires_centisecs = 10000 vm.dirty_age_centisecs = 30000 vm.dirty_background_bytes = 1G vm.dirty_background_threshold = 10 vm.dirty_writeback_centisecs = 500 vm.dirty_ratio = 90 vm.dirty_background_ratio = 10 vm.min_free_kbytes = 65536 vm.swappiness = 0 vm.overcommit_memory = 1 vm.overcommit_ratio = 50 vm.dirty_bytes = 80 vm.dirty_expires_centisecs = 10000 vm.dirty_age_centisecs = 30000 vm.dirty_background_bytes = 1G vm.dirty_background_threshold = 10 vm.dirty_writeback_centisecs = 500应用更改: 保存并关闭文件,使用以下命令使更改生效:
sysctl -p永久关闭THP: 为了永久关闭THP,需要将以下行添加到
/etc/rc.d/rc.local文件中:echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag确保
/etc/rc.d/rc.local文件具有执行权限:chmod +x /etc/rc.d/rc.local
验证THP是否已关闭
可以通过以下命令验证THP是否已关闭:

cat /sys/kernel/mm/transparent_hugepage/enabled 输出应为:
[always] 如果输出为[never],则表示THP已被成功关闭。
FAQs
Q1:关闭THP后,我的系统性能是否会受到影响?
A1:关闭THP可能会在某些情况下提高性能,尤其是在进行大量文件I/O操作的应用中,对于其他应用,关闭THP可能不会带来显著的性能提升。
Q2:关闭THP后,如何重新启用它?
A2:要重新启用THP,只需将/sys/kernel/mm/transparent_hugepage/enabled和/sys/kernel/mm/transparent_hugepage/defrag更改为[always]即可,重新启动系统以应用更改。

