IPCS与共享内存

IPC
1.管道
2.信号
3.message 队列
4.共享内存
5.信号量
6.套接口

可以用ipcs命令查看:
ipcs -m:共享内存
ipcs -q:消息队列
ipcs -s:信号量
ipcs -a:所有
其它可用的参数如:
ipcs -t:按时间格式查看
ipcs -p:按进程查看
ipcs -c:按创建者查看
ipcs -l:按最大限制查看
ipcs -u:按summary查看

共享内存:
SHMMAX
含义:单个共享内存段最大字节数
设置:比SGA略大
查看:cat /proc/sys/kernel/shmmax
$ 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
# 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
$ getconf PAGE_SIZE
4096
# cat /proc/sys/kernel/shmall
2097152
修改:
# sysctl -w kernel.shmall=2097152
# echo “kernel.shmall=2097152″ >> /etc/sysctl.conf

信号量:
SEMMSL
含义:每个信号量set中信号量最大个数
设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

SEMMNI
含义:linux系统信号量set最大个数
设置:最少128

SEMMNS
含义:linux系统中信号量最大个数
设置:至少32000;SEMMSL * SEMMNI

SEMOPM
含义:semop系统调用允许的信号量最大个数
设置:至少100;或者等于SEMMSL

查看信号量设置:cat /proc/sys/kernel/sem
order:SEMMSL, SEMMNS, SEMOPM, SEMMNI
oracle@lab-rd-01:~$ cat /proc/sys/kernel/sem
250 32000 100 128

修改:
sysctl -w kernel.sem=”250 32000 100 128″
echo “kernel.sem=250 32000 100 128″ >> /etc/sysctl.conf

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*