千家信息网

HugePages

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,一、 Hugepage11g 的 AMM 和 HugePages 不兼容,但可以使用 ASMM好处:不需要内存页交换减轻快表压力减轻换页表的负载配置1 设置 memlock/etc/security/
千家信息网最后更新 2025年11月07日HugePages

一、 Hugepage

11g AMM HugePages 不兼容,但可以使用 ASMM

好处:

不需要内存页交换

减轻快表压力

减轻换页表的负载

配置

1 设置 memlock

/etc/security/limits.conf

如物理内存是 64GB ,可以设置为如下:

* soft memlock 60397977

* hard memlock 60397977

>DB 内存

< 物理内存

kernel.shmmax =60397977*1024

2 验证 memlock

ulimit -l

su - oracle

ulimit -l

3 禁用 AMM

alter system reset memory_target scope = spfile sid='*';

alter system reset memory_max_target scope =spfile sid='*';

4.vm.nr_hugepages 的建议值

cat /proc/meminfo

2048K 默认 2m 一个页

vi /etc/sysctl.conf

vm.nr_hugepages =30000 (60G/2m)

vm.nr_hugepages 大于 oracle 内存 小于物理内存

经验计算: (SGA+1G)/2M

不经验计算:不超过 85% 不能大于 memlock 不能小于 kernel.shmmax

我的方法:比物理内存低点 直接除 2 60G/2M =30720

注意保留内存问题

sysctl -p

重启数据库实例

5 查看参数

cat /proc/meminfo

alert log 里边

Large Pages Information

二、透明大页

oracle 建议关闭

红帽 6.5 之后已去除

查看是否使用

more /sys/kernel/mm/transparent_hugepage/enabled

cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

grep AnonHugePages /proc/meminfo

当值大于 ,表示正在使用

如果不关闭 可能会在 ocssd.log 中报错

clssscMonitorThreads clssnmvKillBlockThread not scheduled for 7500 msecs

clssscMonitorThreads clssnmvWorkerThread not scheduled for 8030 msecs

影响 RAC 性能 不稳定

如何关闭:

建议 1. /etc/grub.conf 文件中添加

kernel 行后面加 transparent_hugepage=never

2. /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


0