hugepage在linux中如何设置

hugepage在oracle中的配置应用
大内存技术,不支持内存自动管理,必须关闭AMM(自动内存管理),不用MEMORY_TARGET(值要为0) ,才能使用hugepage,检查数据库的参数设置是否支持:
SQL> show parameter memory_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_max_target big integer 0
memory_target big integer 0
如果不配置锁定内存,在后alert_sid.log中数据库实例启动时会有类似如下的建议:
RECOMMENDATION:
Total System Global Area size is 5 GB. For optimal performance,
prior to the next instance restart:
1. Large pages are automatically locked into physical memory.
Increase the per process memlock (soft) limit to at least 5 GB to lock
100% System Global Area's large pages into physical memory
并且,hugepage并没有真正使用起来!
检查系统是否启用hugepage,或者是否可以启用:
cat /proc/meminfo | grep -i huge
AnonHugePages: 75776 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
可以看到,HugePages_Total,HugePages_Free均为零,证明没有使用,但可以配置。如果上面什么都没有显示,证明不能配置。
查询参数nr_hugepages,shmmax,shmall设置值应该设置多少:
sqlplus / as sysdba
column "kernel.shmmax" format 99999999999999999999
请输入服务器物理内存大小:
select
round(&InputPhysicalMemorySize*0.8*1024*1024*1024/(2048*1024)) as "vm.nr_hugepages",
round(&InputPhysicalMemorySize*0.8*1024*1024*1024) as "kernel.shmmax",
round(&InputPhysicalMemorySize*0.8*1024*1024*1024*0.9/4096) as "kernel.shmall"
from dual;
输出结果会例如下所示:
vm.nr_hugepages kernel.shmmax kernel.shmall
-----
hugepage在linux中如何设置
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



