저는 Azure 클라우드의 Ubuntu18.04.1 Bionic VM을 사용하고 있습니다. 시스템 수준에서 최대 파일 설명자 수를 설정하려고 합니다. 처음 로그인하고 실행하면 ulimit -n
1024라는 값을 얻습니다. 그래서 확인해 봤는데 /etc/security/limits.conf
구성이 없습니다. 그래서 에서 이렇게 구성한 게 아닐까 생각해서 cat /proc/sys/fs/file-max
확인해 보니 1426416으로 설정되어 있었습니다. 질문 1: 1024는 어디에서 왔나요?
/etc/security/limits.conf
for * 및 루트 도메인 에 일부 항목을 설정하여 이를 변경할 수 있었고 nofile
이를 65536으로 올렸고 이제는 ulimit -n
이를 반영합니다. 그래서 내 질문 2: 항목의 목적은 무엇입니까 /proc/sys/fs/file-max
? 이걸 이용해서 설정하시면 될 것 같아요sysctl.conf
답변1
/etc/security/limits.conf 파일은 pam_limits를 구성하는 데 사용되며 PAM 스택을 통해 시작된 사용자 및 서비스에만 영향을 미칩니다.
/proc/sys/fs/file-max는 커널 sysctl에 의해 정의되며 운영 체제에서 시작되는 프로세스에 대한 설정입니다.
유닛 파일에 LimitNOFILE=1024를 추가하여 systemd 서비스에서 파일 제한을 설정할 수도 있습니다.
답변2
1024는 어디에서 왔습니까?
이것이 커널이다열린 파일 수에 대한 기본 제한, 각 프로세스. 이게 그 중 하나야리소스 제한프로세스별로 설정할 수 있습니다.
입사 목적은 무엇입니까
/proc/sys/fs/file-max
?
file-max
지정하다최대 파일 핸들 수, 전체 시스템에 대해. 이 제한에 도달하면 프로세스별 제한에 관계없이 어떤 프로세스도 파일을 열 수 없습니다.
nr_open
, 동일한 디렉토리에서 최대값을 지정하십시오.프로세스당 한도. 사용되는 실제 값은 리소스 제한입니다(위 참조). 이는 최대 리소스 제한이 결정됩니다.