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

来源:互联网 发布:单片机方案 编辑:程序博客网 时间:2024/05/21 06:40
Maximum SHMMAX values for Linux x86 and x86-64 (Doc ID 567506.1)


应用于:
Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 11.2.0.2 - Release: 9.2 to 11.2
Linux x86
Generic Linux
Obsolete Linux Intel (64-bit)
Red Hat Enterprise Linux Advanced Server x86-64 (AMD Opteron Architecture)
Linux x86-64






目标:
问题1:
在32位的Linux系统上,SHMMAX的最大值是多少


问题2:
在64位的Linux系统上,SHMMAX的最大值是多少




解决方案:
答案1:
Oracle全球客户服务中心的官方建议SHMMAX的最大值小于4Gb,或者是4294967295


共享内存段的最大大小是由可用的用户地址空间的大小限制的,在32位系统中,这个理论值是4GB,那么SHMMAX的最大值取值可以略于4GB,也可以等于4294967295.
假如正好配置SHMMAX是4GB的话,那么最大只能给用户0byte了,所以这个值被解释为32位的值并且是个外围值


答案2:
Oracle全球客户服务中心的官方建议最大值取物理内存的一半共享内存段的最大大小是由可用的用户地址空间的大小限制的。在64位系统中,这是一个理论上的2 ^ 64bytes,所以“理论极限”SHMMAX是你的物理内存量。然而,要真正尝试使用这样的一个值可能会导致一个情况,没有系统内存是提供给其他任何东西。因此,一个更现实的“物理极限”SHMMAX大概是“物理内存- 2GB”。


但是在Oracle的RDBMS应用中,这种"物理内存的极限值"的内存经常是不够其他的应用使用的,所以,常见的Oracle的页最大值SHMMAX经常被设定为1/2的物理内存,但是许多的Oracle用户自己选择了一个更高的值,这个是他们自己决定的




有时候,客户可能错误的认为建议设置的SHMMAX值是受限于SGA总大小的,这个是不对的,被建议设置SHMMAX的值只是为了能够用于用户在Oracle中随后配置的任何总SGA,有关更多详细信息,请参阅文献15566.1、“SGA,SHMMAX,信号量和共享内存的解释”











0 0
原创粉丝点击