1.关闭透明大页transparnet Hugepage
#linux 6x 修改方法
#运行下面命令不用重启操作系统禁用透明大页,但是重启后会失效
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
#在/etc/ 内【kernel 对应行尾】 增加transparent_hugepage=never 需要重启生效
#重启后查看是否关闭:always madvise [never] 括号括到never为关闭
如果输出结果为[always]表示透明大页启用了。[never]表示透明大页禁用、[madvise]表示
cp /etc/ /etc/grub.conf_20190509.bak
vim /etc/
transparent_hugepage=never
#查看是否关闭:
cat /sys/kernel/mm/transparent_hugepage/enabled
grep Huge /proc/meminfo
2.开启大页
如果使用11G及以后的版本,AMM已经默认开启,但是AMM与Hugepages是不兼容的,必须先disable AMM。
#大页设定多大的值,这个要根据系统SGA的配置来定,一般建议大页的总占用量大于系统上所有SGA总和+2GB,或者根据./ 算出结果
#HugePages on Oracle Linux 64-bit (文档 ID 361468.1),AIX页表共享,一般不用设置大页。
#vm.nr_hugepages 大页设置=大页内存(m)/2(Hugepagesize)
#vm.min_free_kbytes 最小内存千字节数 (内存-大页内存)*0.4%(linux建议)---0.5%(oracle建议)
#swappiness的值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,建议值100
#修改/etc/
cat > /etc/
vm.nr_hugepages=125048
vm.min_free_kbytes = 1364992
= 100
EOF
more /etc/
sysctl -p
#修改memlock的值,最大锁定内存地址空间。memlock应该比系统内存稍小,少5-10G
cat > /etc/security/
* soft memlock 523927552
* hard memlock 523927552
EOF
#切换oracle 用户 查看 ulimit -l
su - oracle
ulimit -l
#查看大页是否被使用
watch -n1 'cat /proc/meminfo | grep -i HugePage'