Oracle을 설치할 때 /etc/sysctl.conf
, /etc/security/limits.d/oracle-database-preinstall-19c.conf
에 파라미터를 추가했었습니다.
각 파라미터의 의미가 무엇인지 알아보겠습니다.
fs.file-max = 6815744
< - 시스템에서 동시에 오픈 가능한 파일의 수와 연관된 파일 핸들의 최대값
kernel.sem = 250 32000 100 128
동시성(Concurrency)
을 조절하기 위해 사용kernel.shmmni = 4096
<- 공유 메모리 세그먼트의 최대 개수
kernel.shmall = 1073741824
<- 특정 시점에 시스템에서 사용 가능한 공유 메모리의 최대 크기
ceil(shmmax/page_size)
로 권장. 기본 값은 209715 byte
.kernel.shmmax = 4398046511104
<- 공유 메모리 세그먼트의 최대 크기
큰 덩어리(=세그먼트)
로 한꺼번에 주게되는데 이값이 너무 작으면
DB가 시작할 때 ORA-27123 : unable to attach to shared memory segment
라는 메시지가 발생할 수 있고 너무 크면
세그먼트의 사용되지 않는 빈 공간을 두기 때문에 메모리 낭비가 발생
함. 32MB
. 오라클 사용 시에는 2G
로 설정하도록 권장.kernel.panic_on_oops = 1
<- 버그가 발생하면 시스템 PANIC 상태로 처리할지를 결정
net.core.rmem_default = 262144
<-TCP 수신 버퍼 크기의 기본값 설정
net.core.rmem_max = 4194304
<- TCP 수신 버퍼 크기의 최대값 설정
net.core.wmem_default = 262144
<-TCP 송신 버퍼 크기의 기본값 설정
net.core.wmem_max = 1048576
<-TCP 송신 버퍼 크기의 최대값 설정
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
<-모든 인터페이스에서 들어오는 패킷에 대해 reply를 하여 들어오는 인터페이스로 나가지 못하는 패킷을 거부함
fs.aio-max-nr = 1048576
<- 동시에 들어오는 요청의 개수를 제한함
net.ipv4.ip_local_port_range = 9000 65500
<- 시스템에 접속할 때 사용할 수 있는 네트워크 포트의 범위
OS 리소스 제한 설정
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
soft
: 새로운 프로그램을 생성하면 기본적으로 적용되는 한도. 간간히 지키지 않아도 되는 limit
hard
: Soft한도
에서 최대로 늘릴 수 있는 한도. 무조건 지켜야 하는 최대 limit
nofile
: 한 번에 열 수 있는 최대 파일 수nproc
: 최대 프로세스의 개수(KB)stack
: 최대 스택 사이즈(KB)memlock
: 쉘에 허용 가능한 가상메모리의 최대량 제한참고