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
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。