oracle数据库内核,ORACLE安装LINUX内核中内存参数设置

在LINUX系统上部署ORACLE时,为了能够使最大限度地发挥ORACLE数据库性能,我们需要在/etc/sysctl.conf文件中增加以下关于内存的内核参数:(1)kernel.shmall设置系统中最大内存页面数量,ORACLE建议的为2097152,(2)kernel.shmmax设置单个共享内存段的最大尺寸,单位为BYTE,ORACLE建议大于或等于SGA大小,(3)kernel.shmmni参数设置系统中共享段的数量,ORACLE建议值为4096.

LINUX的标准内存页面尺寸大小为4KB,所以当我们在SGA大于8GB的系统上,需要相应增加kernel.shmall的值,这个值一般应该大于或等于SGA大小除以4KB。

在linux 2.6的kernel增加了称之为hugepage的支持,HUGEPAGE是一个地址连续的内存块区域。在linux下可以通过/proc/meminfo来看hugepage的大小,单个HUGEPAGE大小与平台紧密相关.通过使用hugepage,而不使用标准的page,会带来性能上增加。由于hugepage使用了更大且连续的地址尺寸,减少了地址转换的性能开销,同时也使在CPU级别能同时存储更宽的地址范围。通过设置vm.nr_hugepages参数来设定hugepage的数量,这个值default为0,也就是不使用hugepage,另外还需要设置的参数,vm.disable_cap_mlock参数设为true,允许非根用户拥有对hugepage有写的权限。同时为了保证安全需设定vm.hugetlb_shm_group设定为ORACLE用户组,一般为DBA组

当ORACLE实例在启动时,调用shmget()函数来请求内存分配时,根据SHM_HUGETLB标志来决定是否使用HUGEPAGE,如果请求的SGA大小设定比可用的HUGEPAGE还要大的时候,ORACLE则续继使用标准的内存页面尺寸,而不使用hugepage。但是分配出去的hugepage继续保持在bugepage pool中,所以这样会导致减少可用的内存数量。可查看/proc/meminfo来得来内存中关于hugepage的相关信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值