kernel.sem = 250 32000 100 128
fs.file-max = 512 x processes
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
kernel.shmall = physical RAM size / pagesize
kernel.shmmax = RAM times 0.5
fs.aio-max-nr=1048576
위 요구사항에 맞게 Kernel Settings를 진행하려고 한다.
Parameter 설명
- kernel.shmmni
value
- kernel.shmmni = 4096
comment
- 공유 메모리 세그먼트의 최대 숫자를 설정하는데 사용 - kernel.sem
value
- 순서대로 (semmsl / semmns / semopm / semmni)
kernel.sem = 250 32000 100 128
comment
- semmsl: 세마포어 세트 당 최대 세마포어 수
- semmns: 시스템에 할당할 수 있는 세마포어의 총 수
- semopm: 시스템 호출 당 수행할 수 있는 최대 세마포어 수
- semmni: 세마포어 세트의 최대 수 제어 - fs.file-maxvalue
- fs.file-max = 6815744
comment
- 사용 가능한 파일 핸들의 최대 개수를 설정하여 OS에서 동시에 오픈 할 수 있는 파일의 수를 제어 - net.ipv4.ip_local_port_range value
- net.core.rmem_value
- net.core.rmem_default = 4194304
- net.core.rmem_max = 4194304
comment
- 대용량 Serving을 위한 설정 - net.core.wmem_value
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
comment
- 소켓 출력 큐의 기본값과 최대값 제어 - kernel.shmallvalue
- kernel.shmall = 4294967296
comment
- 특정 시점에 사용가능한 공유 메모리의 최대 크기를 설정 - kernel.shmmaxvalue
- kernel.shmmax = 68719476736
comment
- 공유 메모리 세그먼트 최대 크기를 정의하며, SGA 메모리 구성 시 필요 - fs.aio-max-nrvalue
- fs.aio-max-nr = 1048576
comment
- 허가된 최대 동시 요청 수
- net.ipv4.ip_local_port_range = 1024 65500
comment
- 신규 접속에서 사용할 수 있는 포트의 사용 가능 범위
Parameters Settings
linix kernel parameter settings를 하기 위해서는 /etc/sysctl.conf 에서 설정해야한다.
/etc/sysctl.conf 파일 아래에 위와 같이 추가해주어야한다.
다른 요구사항과 달리 아래 3개는 따로 계산이 필요하다.
fs.file-max = 512 x processes
kernel.shmall = physical RAM size / pagesize
kernel.shmmax = RAM times 0.5
먼저 fs.file-max를 계산하기 위해서는 processes 개수 확인이 필요하다.
ulimit -a 명령을 이용하여 max user processes 값을 확인할 수 있다.
512 x 4775 = 2444800 값을 확인할 수 있다.
※ ulimit: 시스템 자원의 제한값을 조정
kernel.shmall의 경우 RAM size와 pagesize를 알아야한다.
free 명령어를 통해 RAM size를 확인할 수 있다.
pagesize는 getconf PAGESZIE 로 확인할 수 있다.
physical RAM size / pagesize = 629760000(byte이기 때문에 단위를 맞춰야함.) / 4096
계산을 하면 153750 값을 확인할 수 있다.
※getconf: 시스템 자원한도를 확인해주는 명령어
kernel.shmmax의 경우 RAM의 0.5 이기 때문에 314880000 이다.
댓글 없음:
댓글 쓰기