ITPub博客

首页 > 数据库 > Oracle > [20220913]hugepage相关参数含义.txt

[20220913]hugepage相关参数含义.txt

原创 Oracle 作者:lfree 时间:2022-10-10 09:25:49 0 删除 编辑

[20220913]hugepage相关参数含义.txt

--//有人问使用hugepages后,grep -i pages /proc/meminfo看到HugePages_*相关参数的含义,做一个简短的说明:

--//看我的测试环境:
$ 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

--//我的理解如下:
--//HugePages_Total表示HugePages总量.
--//HugePages_Free表示当前还没有使用的HugePages数量.
--//HugePages_Rsvd表示reserved,保留未用HugePages的数量
--//HugePages_Surp表示surplus剩余; 盈余; 结余的HugePages数量.

--//HugePages_Total-HugePages_Free+HugePages_Rsvd = 309-68+68 = 309 ,就是当前全部实例使用hugepages的数量.
--//注:实际上数据库启动并不是马上使用全部的SGA内存,而是逐步增加,实际上现在使用HugePages的数量是
--//HugePages_Total-HugePages_Free =  309-68 = 241.

--//HugePages_Surp表示surplus剩余; 盈余; 结余的数量.实际上设置vm.nr_overcommit_hugepages参数就可以看到.
--//并且vm.nr_hugepages不足的情况下就可以看到.注意测试这样的情况必须设置use_large_pages=only.

--//HugePages_Surp = HugePages_Total - vm.nr_hugepages = 309 -104 = 205.

--//我设置vm.nr_hugepages = 104,而实际需求总量是309.这样需要从vm.nr_overcommit_hugepages借用
--//HugePages_Total-vm.nr_hugepages = 309-104 = 205.HugePages_Surp表示就是这个含义.

--//补充说明:实际上如果设置oracle参数pre_page_sga=true,上面的数据库重启后如下:
$ grep -i pages /proc/meminfo
...
HugePages_Total:     309
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:      205
Hugepagesize:       2048 kB

--//可以查看我以前的帖子:[20170209]理解pre_page_sga参数.txt

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2917488/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7970379