Linux内核参数-共享内存信号量设置
2012-02-27 08:41
190 查看
共享内存:
可以通过ipcs -lm命令查看目前系统共享内存的参数限制:
# ipcs -lm
—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 1048576
max total shared memory (pages) = 2097152
min seg size (bytes) = 1
这里涉及到3个于共享内存相关的参数:SHMMAX,SHMMNI,SHMALL
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
信号量:
当前系统信号量限制:
oracle@lab-rd-01:~$ ipcs -ls
—— Semaphore Limits ——–
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
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
可以通过ipcs -lm命令查看目前系统共享内存的参数限制:
# ipcs -lm
—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 1048576
max total shared memory (pages) = 2097152
min seg size (bytes) = 1
这里涉及到3个于共享内存相关的参数:SHMMAX,SHMMNI,SHMALL
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
信号量:
当前系统信号量限制:
oracle@lab-rd-01:~$ ipcs -ls
—— Semaphore Limits ——–
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
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
相关文章推荐
- Linux内核参数-共享内存信号量semaphore设置
- Oracle安装-Linux内核参数-共享内存信号量设置
- Oracle安装-Linux内核参数-共享内存信号量设置
- Linux共享内存区参数设置
- Linux安装oracle时对共享内存段和信号量的系统内核参数调整
- Linux内核参数信号量semaphore设置
- 安装ORACLE时在Linux上设置内核参数的含义
- [Linux管道和IPC]使用信号量和共享内存进行父子进程通信
- Linux下利用信号量函数和共享内存函数和C语言实现生产者消费者问题
- 一张图深度解析Linux共享内存的内核实现
- Linux下安装数据库时设置内核参数
- Linux下通过共享内存进行进程间通信,进程间同步使用信号量来实现
- Linux Programing -- ch14-- 信号量、共享内存、消息队列
- Linux的内核空间和用户空间通过内存共享来进行通信的实现
- Linux 共享内存限制的查看与设置
- 如何设置LINUX的共享内存
- 设置Linux内核参数
- linux基础编程:进程通信之System V IPC:消息队列,信号量,共享内存
- Linux进程间通信--信号,管道,消息队列,信号量,共享内存,socket
- linux系统中的进程通信(消息队列、共享内存、信号量)