1. aix支持的页的大小 AIX支持4种页的大小,但是并不是每一个硬件平台都同时支持4种,可以使用下面的命令来查看 pagesize -a 4096 65536 16777216 17179869184 2. ORACLE启用大页的前提 ORACLE有下面三种类型的内存支持大页SGA,.DATA,.TEXT,这里只介绍SGA,因为正常情况下我们也只配置SGA的。 如果ORACLE要启用大页,那么ORACLE的user需要具有 CAP_BYPASS_RAC_VMM and CAP_PROPAGATE属性,如果是在RAC环境中,ROOT,GRID(11G)用户也要有CAP_BYPASS_RAC_VMM and CAP_PROPAGATE属性使用如下命令查看与修改 [$(hostname):root:/u02]lsuser -a capabilities oracle oracle [$(hostname):root:/u02]chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle [$(hostname):root:/u02]set -o vi [$(hostname):root:/u02]lsuser -a capabilities oracle oracle capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE 3. AIX于大页相当的参数 lgpg_regions控制大页的个数lgpg_size控制页的大小,使用如下命令查看与修改 [$(hostname):root:/u02]vmo -L lgpg_regions -L lgpg_size NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES -------------------------------------------------------------------------------- lgpg_regions n/a 0 0 0 B lgpg_size -------------------------------------------------------------------------------- lgpg_size n/a 0 0 0 16M bytes B lgpg_regions -------------------------------------------------------------------------------- [$(hostname):root:/u02] [$(hostname):root:/u02]vmo -p -o lgpg_size=16777216 -o lgpg_regions=64 4. 计算lgpg_regions的个数 num_of_large_pages = INT((total_SGA_size-1)/16MB)+1 比如32G的SGA num_of_large_pages=int(32*1024-1)/16+1=2048 5. 修改 lru_file_repage 修改lru_file_repage为0,默认是1 6. 查看oracle sga是否使用了large page 使用svmon命令来查看 su - oracle ps vg|grep ora_smon* svmon -p PID 由于写文档这里登陆的主机不支持large page,所以这里拿了网上的一个图片 [$(hostname):root:/u02]vmstat -l System configuration: lcpu=1 mem=2048MB kthr memory page faults cpu large-page ----- ----------- ------------------------ ------------ ----------- ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa alp flp 1 1 91018 408381 0 0 0 725 5081 0 29 1274 80 3 9 76 11 0 0 转载请保留固定链接: https://linuxeye.com/database/1454.html |