/etc/pam.d/login
이라는 pam 모듈을 호출해 인증을 진행하고, /etc/pam.d/login
구성에서 기본적으로 system-auth
모듈을 가져와 인증을 진행합니다. 그러면 system-auth
모듈은 기본적으로 pam_limits.so
모듈을 가져와 인증을 진행합니다. system-auth
의 기본 구성은 다음 이미지를 참고하십시오.
pam_limits.so
모듈의 핵심 기능은 사용자가 대화 시 여러 시스템 리소스의 사용을 제한하는 것입니다. 기본적으로 해당 모듈의 구성 파일은 /etc/security/limits.conf
로, 해당 구성 파일은 사용자가 사용 가능한 최대 파일 갯수, 최대 스레드 수, 최대 메모리 등 리소스 사용량을 규정하고 있습니다. 매개변수에 대한 설명은 다음 표와 같습니다.매개변수 | 설명 |
soft nofile | 열 수 있는 최대 파일 기술자 수 입니다(soft limits). |
hard nofile | 열 수 있는 최대 파일 기술자 수로(hard limits), 해당 설정값을 초과할 수 없습니다. |
fs.file-max | 시스템 수준에서 열 수 있는 파일 핸들(커널의 struct file)의 수량입니다. 사용자에 대한 제한이 아닌 전체 시스템에 대한 제한입니다. |
fs.nr_open | 개별 프로세스에서 할당할 수 있는 최대 파일 기술자 수(fd 개수). |
/etc/security/limits.conf
에서 root 사용자가 열 수 있는 최대 파일 기술자 수의 개수 설정에 오류가 있기 때문일 수 있습니다. 올바른 구성은 soft nofile ≤ hard nofile ≤ fs.nr_open
의 관계에 부합해야 합니다.soft nofile
, hard nofile
및 fs.nr_open
의 매개변수 값이 soft nofile ≤ hard nofile ≤ fs.nr_open
관계에 부합하는지 확인합니다.soft nofile
및 hard nofile
값을 확인합니다./etc/security/limits.conf
fs.nr_open
값을 조회하십시오.sysctl -a 2>/dev/null | grep -Ei "file-max|nr_open"
/etc/security/limits.conf
파일을 수정하고, 파일 끝에 다음과 같은 구성을 추가하거나 수정합니다.root soft nofile
: 100001root hard nofile
: 100002/etc/sysctl.conf
파일을 수정하고, 파일 끝에 다음과 같은 구성을 추가하거나 수정합니다.soft nofile ≤ hard nofile ≤ fs.nr_open
관계에 부합하는 경우, 이 단계를 생략할 수 있으며, 시스템 최대 제한이 부족할 경우 조정할 수 있습니다.fs.file-max
= 2000000fs.nr_open
= 2000000sysctl -p
문제 해결에 도움이 되었나요?