Oracle數據庫在linux系統上的安裝過(guò)程中,涉及到設置linux內核參數;
這些內核參數究竟代表什么含義,如何調整這些參數?
kernel.shmall = 2097152 # 可以使用的共享內存的總量,單位:頁(yè)。
kernel.shmmax = 2147483648 # 最大單個(gè)共享內存段大小。取物理內存大小的一半,單位為字節
kernel.shmmni = 4096 # 整個(gè)系統共享內存段的最大數目。
kernel.sem = 250 32000 100 128 # 每個(gè)信號對象集的最大信號對象數;系統范圍內最大信號對象數;每個(gè)信號對象支持的最大操作數;系統范圍內最大信號對象集數。
fs.file-max = 65536 # 系統中所允許的文件句柄最大數目。
net.ipv4.ip_local_port_range = 1024 65000 # 應用程序可使用的IPv4端口范圍。
net.core.rmem_default = 1048576 # 套接字接收緩沖區大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收緩沖區大小的最大值
net.core.wmem_default = 262144 # 套接字發(fā)送緩沖區大小的缺省值
net.core.wmem_max = 262144 # 套接字發(fā)送緩沖區大小的最大值
共享內存:
可以通過(guò)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個(gè)于共享內存相關(guān)的參數:SHMMAX,SHMMNI,SHMALL
SHMMAX
$ cat /proc/sys/kernel/shmmax
1073741824
sysctl -w kernel.shmmax=1073741824
echo “kernel.shmmax=1073741824″ >> /etc/sysctl.conf
SHMMNI
# cat /proc/sys/kernel/shmmni
4096
# sysctl -w kernel.shmmni=4096
# echo “kernel.shmmni=4096″ >> /etc/sysctl.conf
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
SEMMNI
SEMMNS
SEMOPM
查看信號量設置: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
ORACLE提供了sysresv工具管理共享內存以及信號量,操作系統級別可以通過(guò)ipcs管理。
聯(lián)系客服