志在远方 于 2014-03-29 13:32:53发表:
支持
linuxgd 于 2014-03-19 11:54:19发表:
广东省linux公共服务技术支持中心分析与处理: 在安装第三方软件时,如Oracle数据库,会推荐设置内核参数SHMMAX为某一特定值。这个参数定义了Linux程序能在其虚拟地址空间中分配单个共享内存段的最大值。在32位CGSL系统上设置内核参数SHMMAX大于4GB,设置完后却变为0。例如,默认的SHMMAX值如下: # cat /proc/sys/kernel/shmmax 4294967295 给SHMMAX设置新值,其值比默认值大1 byte: # echo 4294967296 > /proc/sys/kernel/shmmax 查看其值却为0: # cat /proc/sys/kernel/shmmax 0 原因:32位的操作系统的寻址空间最大为4294967296 bytes (4 * 1024 * 1024 * 1024 = 4GB),所以设置的共享内存大小不能大于等于4G。 解决:在32位系统上设置SHMMAX值不能大于或等于4294967296 bytes,这是32位系统的限制,升级到64位系统能够规避此问题。
志在远方 于 2014-03-29 13:32:53发表:
支持
linuxgd 于 2014-03-19 11:54:19发表:
广东省linux公共服务技术支持中心分析与处理:
在安装第三方软件时,如Oracle数据库,会推荐设置内核参数SHMMAX为某一特定值。这个参数定义了Linux程序能在其虚拟地址空间中分配单个共享内存段的最大值。在32位CGSL系统上设置内核参数SHMMAX大于4GB,设置完后却变为0。例如,默认的SHMMAX值如下:
# cat /proc/sys/kernel/shmmax
4294967295
给SHMMAX设置新值,其值比默认值大1 byte:
# echo 4294967296 > /proc/sys/kernel/shmmax
查看其值却为0:
# cat /proc/sys/kernel/shmmax
0
原因:32位的操作系统的寻址空间最大为4294967296 bytes (4 * 1024 * 1024 * 1024 = 4GB),所以设置的共享内存大小不能大于等于4G。
解决:在32位系统上设置SHMMAX值不能大于或等于4294967296 bytes,这是32位系统的限制,升级到64位系统能够规避此问题。