[에러] Too many open files 조치하는 방법 (ulimit 명령어)
OS 내에서 작업중 어디에선가 아래와 같은 메세지가 출력될 경우 ulimit 를 활용해보도록 합니다.
에러 : 'Too many open files'
조치 : ulimit 명령어 사용
우선 많은 파일을 열기 위해서는 ulimit 에서 오픈가능한 파일의 최대 수를 조정해주어야 합니다.
OS 기본값은 1024 입니다.
동시에 여는 파일이 많을 수록 더 많은 메모리 양을 필요로 한다는 것을 참고 하고, 필요한 값으로 조정을 합니다.
예제에서는 50000으로 조정하는 내용을 담았습니다.
1. 현재 설정값 확인
# 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) 256092
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) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 256092
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2. 설정값 변경 (일시적)
# ulimit -n 50000
(변경 내용 확인)
# ulimit -a |grep 'open files'
open files (-n) 50000
변경이 되었습니다. 하지만 재로그인 또는 리부팅의 작업을 거치면 다시 원래의 1024 값으로 돌아가므로
변경값이 기본으로 셋팅 되도록 해봅니다.
3. 설정값 변경 (영구적)
설정파일의 맨 아래에 아래 4줄 내용을 추가 하면 재로그인 또는 리부팅 후에도 변경된 값을 유지하게 됩니다.
설정 내용중 * 표시는 root 를 제외한 모든 계정을 의미합니다.
# vi /etc/security/limits.conf
root soft nofile 50000
root hard nofile 50000
* soft nofile 50000
* hard nofile 50000
'리눅스 > OS 일반' 카테고리의 다른 글
wget 으로 웹소스 출력하기 (0) | 2023.01.04 |
---|---|
Ubuntu 22.04 Desktop 설치 후 한글 사용하기 외 PC 로 활용할 기본 프로그램 목록 (0) | 2022.11.15 |
GCC 원하는 버전으로 업그레이드 하기 (CentOS 7, GCC 10.3.0) (0) | 2022.06.17 |
Zabbix API 예제 (0) | 2022.04.22 |
[PHP] 여러개의 파일 읽기 (fopen multiple files in php) (0) | 2022.04.19 |