[20191204]hugepage相关参数含义.txt --//别人问题的问题,就是grep -i pages /proc/meminfo输出的HugePages_Total,HugePages_Free,HugePages_Rsvd,HugePages_Surp含义. # grep -i pages /proc/meminfo AnonPages: 31476112 kB HugePages_Total: 78600 HugePages_Free: 3092 HugePages_Rsvd: 3085 HugePages_Surp: 0 Hugepagesize: 2048 kB --//为了更好说明,我修改脚本加入asm实例分析: # cat huge.sh #! /bin/bash total_shmsize=0 total_hugepagesize=0 for pid in `ps -ef | egrep "ora_pmon_|asm_pmon" |egrep -v "grep"| awk '{print $2}'` do echo echo "-----------------------------------------------------------" echo # ps -ef | grep $pid | grep -v grep ps v $pid echo shmsize=`grep -A 1 'SYSV00000000' /proc/$pid/smaps | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=$2}END{print sum/1024}' | awk -F"." '{print $1}'` hugepagesize=`grep -B 11 'KernelPageSize: 2048 kB' /proc/$pid/smaps | grep "^Size:" | awk 'BEGIN{sum=0}{sum+=$2}END{print sum/1024}' | awk -F"." '{print $1}'` echo "INSTANCE SGA (SMALL/HUGE page)" : $shmsize "MB" echo "INSTANCE SGA (HUGE PAGE)" $hugepagesize "MB" echo "Percent Huge page :" $(( $hugepagesize *100 / $shmsize )) "%" total_shmsize=$(( $shmsize + $total_shmsize )) total_hugepagesize=$(( $total_hugepagesize + $hugepagesize )) done echo echo "-----------------------------------------------------------" echo "-----------------------------------------------------------" echo echo "SGA TOTAL (SMALL/HUGE page)" : $total_shmsize "MB" echo "SGA TOTAL (HUGE PAGE)" $total_hugepagesize "MB" echo "Percent Huge page :" $(( $total_hugepagesize *100 / $total_shmsize )) "%" # . /usr/local/bin/huge.sh ----------------------------------------------------------- PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 21310 ? Ss 419:59 4 168518 2147781 13812 0.0 asm_pmon_+ASM1 INSTANCE SGA (SMALL/HUGE page) : 2044 MB INSTANCE SGA (HUGE PAGE) 2046 MB Percent Huge page : 100 % ----------------------------------------------------------- PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 23988 ? Ss 2304:27 7 189443 79487228 26248 0.0 ora_pmon_dbcn1 INSTANCE SGA (SMALL/HUGE page) : 77568 MB INSTANCE SGA (HUGE PAGE) 77570 MB Percent Huge page : 100 % ----------------------------------------------------------- PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 27535 ? Ss 579:31 0 189443 79485216 18832 0.0 ora_pmon_dben1 INSTANCE SGA (SMALL/HUGE page) : 77568 MB INSTANCE SGA (HUGE PAGE) 77570 MB Percent Huge page : 100 % ----------------------------------------------------------- ----------------------------------------------------------- SGA TOTAL (SMALL/HUGE page) : 157180 MB SGA TOTAL (HUGE PAGE) 157186 MB Percent Huge page : 100 % --//3个实例使用HUGEpages内存157186,157186/2 = 78593. # grep -i pages /proc/meminfo AnonPages: 30329756 kB HugePages_Total: 78600 HugePages_Free: 3092 HugePages_Rsvd: 3085 HugePages_Surp: 0 Hugepagesize: 2048 kB --//我的理解 --//HugePages_Total表示总量. --//HugePages_Free表示没有使用的数量. --//HugePages_Rsvd表示reserved,保留未用的数量 --//HugePages_Surp表示surplus剩余; 盈余; 结余的数量. --//HugePages_Total-HugePages_Free+HugePages_Rsvd=78600-3092+3085 = 78593 ,就是当前全部实例使用hugepages的数量. --//HugePages_Surp表示surplus剩余; 盈余; 结余的数量.实际上设置vm.nr_overcommit_hugepages参数就可以看到. --//并且vm.nr_hugepages不足的情况下就可以看到.注意测试这样的情况必须设置use_large_pages=only. --//看我的测试环境: $ grep "^vm.nr" /etc/sysctl.conf vm.nr_hugepages = 104 vm.nr_overcommit_hugepages = 1000 SYS@book> show parameter use_large NAME TYPE VALUE --------------- ------ ----- use_large_pages string ONLY $ grep -i pages /proc/meminfo AnonPages: 236260 kB AnonHugePages: 0 kB HugePages_Total: 309 HugePages_Free: 68 HugePages_Rsvd: 68 HugePages_Surp: 205 Hugepagesize: 2048 kB --//我设置vm.nr_hugepages = 104,而实际需求总量是309.这样需要从vm.nr_overcommit_hugepages借用 --//HugePages_Total-vm.nr_hugepages 309-104 = 205.HugePages_Surp表示就是这个含义. $ . huge.sh ----------------------------------------------------------- oracle 19367 1 0 15:59 ? 00:00:00 ora_pmon_book INSTANCE SGA (SMALL/HUGE page) : 616 MB INSTANCE SGA (HUGE PAGE) 618 MB Percent Huge page : 100 % ----------------------------------------------------------- SGA TOTAL (SMALL/HUGE page) : 616 MB SGA TOTAL (HUGE PAGE) 618 MB Percent Huge page : 100 % --//表达能力有限,但愿通过前面的例子能理解这些参数的含义.
[20191204]hugepage相关参数含义.txt
来源:这里教程网
时间:2026-03-03 14:40:37
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- db file sequential read等待事件
db file sequential read等待事件
26-03-03 - ORA-31693 & ORA-29913 & ORA-29401
ORA-31693 & ORA-29913 & ORA-29401
26-03-03 - windows7 安装与卸载 oracle 11G
windows7 安装与卸载 oracle 11G
26-03-03 - LIST INCARNATION OF DATABASE含义
LIST INCARNATION OF DATABASE含义
26-03-03 - 最佳实践 | 数据库迁云解决方案选型 & 流程全解析
最佳实践 | 数据库迁云解决方案选型 & 流程全解析
26-03-03 - Oracle date 类型比较和String比较
Oracle date 类型比较和String比较
26-03-03 - OPPO用户怎么让手机变流畅?花1分钟关闭这4个设置,瞬间变流畅
OPPO用户怎么让手机变流畅?花1分钟关闭这4个设置,瞬间变流畅
26-03-03 - 4 个概念,1 个动作,让应用管理变得更简单
4 个概念,1 个动作,让应用管理变得更简单
26-03-03 - 如何分析及处理 Flink 反压?
如何分析及处理 Flink 反压?
26-03-03 - 基于 Flink 的实时数仓生产实践
基于 Flink 的实时数仓生产实践
26-03-03
