首先通过命令来查看共享内存的限制情况:
# ipcs -lm
同样的,信号量的查看命令为
# ipcs -ls
各字段含义说明:
SHMMAX
含义:单个共享内存段最大字节数
设置:比SGA略大
查看:# cat /proc/sys/kernel/shmmax
1073741824
修改:
# sysctl -w kernel.shmmax=1073741824
# echo “kernel.shmmax=1073741824″ >> /etc/sysctl.conf
SHMMNI
含义:共享内存段最大个数
设置:至少4096
查看:# cat /proc/sys/kernel/shmmni
4096
修改:
# sysctl -w kernel.shmmni=4096
# echo “kernel.shmmni=4096″ >> /etc/sysctl.conf
SHMALL
含义:系统中共享内存页总数
设置:至少ceil(shmmax/PAGE_SIZE);ORACLE DOC 默认值:2097152*4096=8GB
查看:# cat /proc/sys/kernel/shmall
4096
修改:
# sysctl -w kernel.shmall=2097152
# echo “kernel.shmall=2097152″ >> /etc/sysctl.conf
同样的,信号量的设置可以仿照共享内存的设置来进行。