* [Linux] ulimit 설명 및 설정방법
# ulimit
unlimited
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7245
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 7245
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
대량의 파일 및 소캣 사용 시 open files 가 문제가 됨.
프로세스 당 파일을 열 수 있는 제한 수.
즉, 프로세스 하나에 1024개의 파일(소켓도 파일)까지만 열어 볼 수 있다.
즉, 프로세스 하나에 여러 파일을 제어하는 경우 문제가 됨.
DB의 경우 (Errcode: 24 - Too many open files) (23) 이런 에러가 보인다면 저 수를 늘려야한다.
# ulimit -n 20480
# vi /etc/security/limits.conf
* hard nofile 30720
* soft nofile 20480
root hard nofile 30720
root soft nofile 20480
mysql hard nofile 30720
mysql soft nofile 20480
# vi /etc/systemd/system/mysql.service
LimitNOFILE=20480