Oracle11g 中的ASMM (Automatic Shared Memory Management)不支持设置
Hugepages .
1. 关闭所有oracle实例
2. 用root设定oracle memlock limit,设置一个较大的数值或者unlimited
在/etc/security/limits.conf最后添加
oracle hard memlock unlimited
oracle soft memlock unlimited
3. 分配hugepages内存
在/etc/sysctl.conf中添加
vm.nr_hugepages = 大于SGA的数值
执行sysctl -p使其生效。这时候内存就已经被分配了,可以查看meminfo
grep Huge /proc/meminfo
HugePages_Total为设定的值大小,HugePages_Free应该和HugePages_Total一样大,
HugePages_Rsvd为0.
4. 重新启动Linux系统。
5. 启动Oracle instance
这时候再次查看meminfo,HugePages_Total为设定的值。