Disable Transparent HugePages on SLES11, RHEL6, OL6and UEK2 Kernels
禁用透明大页 文档 ID 1557478.1
应用范围
Oracle Database - Enterprise Edition
Linux x86
Linux x86-64
原因
Because Transparent HugePages are known to cause unexpected node rebootsand performance problems with RAC, Oracle strongly advises to disable the useof Transparent HugePages. In addition, Transparent Hugepages may cause problemseven in a single-instance database environment with unexpected performanceproblems or delays. As such, Oracle recommends disabling Transparent HugePageson all Database servers running Oracle.
就是说,透明大页会导致oracle节点重启和其他问题,对rac和单机都有效
透明大页的默认设置
# cat/sys/kernel/mm/transparent_hugepage/enabled
[always] never
or
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
# grepAnonHugePages /proc/meminfo
AnonHugepages: xxxx kB
修改方法:
1.vi /etc/grub.conf 添加粗体
title Oracle Linux Server(2.6.32-300.25.1.el6uek.x86_64)
root (hd0,0)
kernel/vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/ transparent_hugepage=never
initrd /initramfs-2.6.32-300.25.1.el6uek.x86_64.img
2.vi /etc/rc.local 添加下面的代码
if test -f/sys/kernel/mm/transparent_hugepage/enabled; then
echo never >/sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f/sys/kernel/mm/transparent_hugepage/defrag; then
echo never >/sys/kernel/mm/transparent_hugepage/defrag
fi
the two methods need the syste reboot,and then you can use the following line to identify
# grep AnonHugePages /proc/meminfo
AnonHugePages: 0 kB
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]