您的位置:首页 > 运维架构 > Linux

【翻译mos文章】Linux x86 and x86-64 系统SHMMAX最大

2015-07-01 15:35 776 查看
Linux x86 and x86-64 系统SHMMAX最大值

参考原始:

Maximum SHMMAX values for Linux x86 and x86-64 (文件 ID 567506.1)

目标:

问题1:32-bit (x86) Linux system 系统中的最大值?

问题2:64-bit (x86-64) Linux system系统中的最大值?

解决方式:

答案1:

Oracle Global Customer Support 官方推荐 SHMMAX 的最大值是小于4GB,或者4294967295

一个共享内存段的最大大小受可用的用户寻址空间限制。

在32bit系统中,是4GB。

答案2:

Oracle Global Customer Support 官方推荐 SHMMAX 的最大值是 物理内存的1/2

一个共享内存端的最大大小受可用的用户寻址空间限制。在64bit系统中,这个理论值是2的64次方。因此,SHMMAX的理论限制值是物理内存的大小。可是,实际地使用所有内存作为SHMMAX可能导致一个潜在的状况:没有内存能够用来干别的事情。

因此,对 SHMMAX 更为理想的 物理限制 是 物理内存-2GB

在oracle db环境中,这个物理限制 依旧导致没有足够的内存用来做其它须要的功能(functions)。

因此。一般 "Oracle maximum" for SHMMAX 是 物理内存的1/2。

非常多Oracle 客户a higher fraction, at their discretion

偶尔,客户会错误的觉得:依据推荐设置 SHMMAX 是用来限制所有的sga,这是不对的。

依据推荐设置SHMMAX仅仅会导致一些共享内存段被用在total sga上。关于细节信息,请看mos文章:

Document 15566.1, "SGA, SHMMAX, Semaphores and Shared Memory Explained"

在内存配置上,相同须要考虑的还有 内核參数kernel.shmall,所有的共享存储器参数的大小是该系统的主要能源的使用,同page单位

看mos文章:

Document 301830.1 Upon startup of Linux database get ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: