ITPub博客

首页 > 数据库 > Oracle > Linux Hugepage ,AMM及 USE_LARGE_PAGES - 2

Linux Hugepage ,AMM及 USE_LARGE_PAGES - 2

原创 Oracle 作者:tolywang 时间:2014-05-27 22:27:50 0 删除 编辑

2.  Hugepage基本信息查看 

   Linux中,可以通过如下命令来查看HugePage相关的值:
$ cat /proc/meminfo | grep Huge
HugePages_Total:   0
HugePages_Free:    0
HugePages_Rsvd:    0
Hugepagesize:     2048 KB
  通常情况下,Linux hugepage大小为2MB (不同的处理器架构,可能不一样)

HugePages_Total: Hugepage的页面数量
HugePages_Free:  剩余的页面数量
HugePages_Rsvd:  被分配预留但是还没有使用的page数目
Hugepagesize:    每单位数量大小

注意:  使用Hugepage内存是共享内存,它会一直pin在内存中,不会被交换出去,也就是说使用
hugepage的内存不能被其他的进程使用,所以一定要合理设置这个值,避免造成浪费。对于只使用
Oracle的服务器来说,把Hugepage_pool设置成稍大于SGA大小即可。PGA因不是共享内存,是使用
不到Hugepage的。 

    HugePages_Free - HugePages_Rsvd部分的内存是浪费的,且不能被其他程序使用。在实际应用中,
尽可能让HugePages_Free - HugePages_Rsvd=0

    设置了多少的huge page,free内存就会被使用多少。比如:设置sysctl vm.nr_hugepages=1024
之后, free命令可以看到free的内存会减少2048MB (1024*2M)。(这也和Hugepagesize的大小有关)

 

3.  Hugepage的好处:

a.  大大提高了CPU cache中存放的page table所覆盖的内存大小,从而提高了TLB命中率。
b.  CPU cache中有一部分TLB(Translation Lookaside Buffer)用来存放部分page table以提高虚拟内存
地址到物理内存地址转换的速度。因为page size变大了,所以同样大小的TLB,所覆盖的内存大小也变大了。
提高了TBL命中率,也就是提高了地址转换的速度。
c. 减少CPU的sys的使用。由于提高了CPU的TLB的命中率,也就降低了CPU的sys部分的使用。
d. 大页会将SGA LOCK在RAM里, 当内存短缺的时候也不会被page out

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

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14696249