开启大页和关闭透明大页

时间:2025-03-08 12:26:28

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'