1 THP 背景知识补充说明

在Linux6.x之后的平台,在安装Oracle数据库的时候都建议关闭透明大页
Linux下的大页分为两种类型:标准大页(Huge Pages)和透明大页(Transparent Huge Pages)。

1). 标准大页(Huge Pages)是从Linux Kernel 2.6后被引入的。目的是使用更大的内存页面(memory page size) 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能。
2). 透明大页(Transparent Huge Pages)缩写为THP,这个是RHEL 6开始引入的一个功能。

这两者的区别在于大页的分配机制,标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式。目前透明大页与传统大页混合使用会出现一些问题,导致性能问题和系统重启。ORACLE官方不建议在使用RedHat 6, OEL 6, SLES 11 and UEK2 kernels 时开启透明大页(THP), 因为透明大页存在一些问题:
1.在RAC环境下 透明大页(Transparent HugePages )会导致异常节点重启和性能问题;
2.在单机环境中,透明大页(Transparent HugePages ) 也会导致一些异常的性能问题;

2 关闭THP

Linux7 默认情况下 是开启透明大页功能的。
检查系统对应版本
[root@db-server ~]# uname -r
3.10.0-693.el7.x86_64
[root@db-server ~]# uname -a
Linux db-server 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@db-server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

默认情况下,状态为always,需要调整为never

Linux7.4 关闭透明大页

修改文件 /etc/default/grub 文件
Linux7.4 关闭透明大页_第1张图片

执行生效命令 grub2-mkconfig -o /boot/grub2/grub.cfg
Linux7.4 关闭透明大页_第2张图片

重启
reboot

检查是否生效
Linux7.4 关闭透明大页