/etc/sysctl.conf와 /etc/security/limits.conf의 차이점에 대해 혼란스러워함

/etc/sysctl.conf와 /etc/security/limits.conf의 차이점에 대해 혼란스러워함

저는 Azure 클라우드의 Ubuntu18.04.1 Bionic VM을 사용하고 있습니다. 시스템 수준에서 최대 파일 설명자 수를 설정하려고 합니다. 처음 로그인하고 실행하면 ulimit -n1024라는 값을 얻습니다. 그래서 확인해 봤는데 /etc/security/limits.conf구성이 없습니다. 그래서 에서 이렇게 구성한 게 아닐까 생각해서 cat /proc/sys/fs/file-max확인해 보니 1426416으로 설정되어 있었습니다. 질문 1: 1024는 어디에서 왔나요?

/etc/security/limits.conffor * 및 루트 도메인 에 일부 항목을 설정하여 이를 변경할 수 있었고 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, 동일한 디렉토리에서 최대값을 지정하십시오.프로세스당 한도. 사용되는 실제 값은 리소스 제한입니다(위 참조). 이는 최대 리소스 제한이 결정됩니다.

관련 정보