Wednesday, September 14, 2011

SusE Linux 32 Bit and 64 Bit Kerenel SHMMAX

Recently I have ran in an issue when installing Oracle on 32 bit Linux server and tried to setup kernel parameter "shmmax or seg size" more than 4 GB and it was showing shared memory as 0 bytes.

For 64 bit systems you can add this parameter in sysctl.conf
# vi /etc/sysctl.conf
add these lines
kernel.shmall = 2097152
kernel.shmmax = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 1024
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

64 bit servers without above parameters, it will take default vaule for shmmax.
Problem occurs for only 32 bit systems, and you need to setup shmmax value less than 4 GB and here are the parameters to add sysctl.conf:

# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

We need run "sysctl -p" to take changes immediately. You can use "ipcs -l" command for check affective parameters.

Have a Nice day!

No comments:

Post a Comment