Limit.conf 값이 각 프로세스에 적용됩니까?

Limit.conf 값이 각 프로세스에 적용됩니까?

oracle 사용자에 대해 이 nofile값을 조정하고 있는데 /etc/security/limits.conf동작에 대한 질문이 있습니다. nofile사용자가 열 수 있는 총 파일 수에 제한이 있습니까?모두해당 프로세스 또는 사용자가 열 수 있는 총 파일 수를 제한할지 여부그 과정?

특히 다음 용도로 사용됩니다.

oracle                  hard    nofile                  65536

답변1

대부분의 값은 limits.conf한계이며 ulimit쉘 명령을 사용하여 수행할 수 있습니다.setrlimit시스템 호출. 이는 프로세스의 속성입니다. 이러한 제한은 각 프로세스에 독립적으로 적용됩니다. 특히 각 프로세스에는 최대 nofile열린 파일 수가 있을 수 있습니다. 사용자 프로세스가 누적할 수 있는 열린 파일 수에는 제한이 없습니다.

nproc제한은 사용자의 모든 프로세스를 합산하기 때문에 특별한 경우입니다. 그러나 이는 모든 프로세스에 적용됩니다. 프로세스가 새 프로세스를 호출할 때 fork프로세스의 euid에 속하는 프로세스 수가 프로세스의 값보다 크면 RLIMIT_NPROC호출이 거부됩니다 .

이것limits.conf매뉴얼 페이지세션에는 설명 제한이 적용됩니다. 즉, 세션의 모든 프로세스에는 동일한 제한이 적용됩니다(이러한 프로세스 중 하나에 의해 변경되지 않는 한). 이는 세션의 프로세스에 대해 합계가 수행된다는 의미는 아닙니다. (OS가 추적하는 것도 아닙니다. 세션 개념이 있지만 세션보다 더 세분화되어 있습니다. 예를 들어 모든 X11 응용 프로그램은 해당 세션으로 끝나는 경향이 있습니다. 자신의 세션). 작동 방식은 로그인 프로세스가 자체적으로 몇 가지 제한을 설정하고 모든 하위 프로세스에 상속된다는 것입니다.

¹예외로 는 로그인을 거부하거나 영향을 주기 위해 로그인 프로세스의 일부로 적용되는 , 및 가 있습니다 .maxloginsmaxsysloginschroot

관련 정보