RLIMIT_NOFILE을 RLIM_INFINITY로 설정할 수 있나요?

RLIMIT_NOFILE을 RLIM_INFINITY로 설정할 수 있나요?

setrlimit(C++ 코드에서 )를 사용하여 (, 그 다음 & 및 ) RLIMIT_NOFILE로 설정하려고 시도했지만 "작업이 허용되지 않음" 오류가 발생합니다. 이 코드는 루트로 실행됩니다.RLIM_INFINITYgetrlimitrlim_currlim_maxRLIM_INFINITYsetrlimit()

설정할 수도 RLIM_INFINITY있나요 RLIMIT_NOFILE?

답변1

RLIMIT_NOFILE상한은 정의된 최대값이며 /proc/sys/fs/nr_open, 그보다 높게 설정하려고 하면 결과가 발생합니다 EPERM. 짧은 시간 동안(커널 2.6.28 사용) 설정이 가능했지만 RLIM_INFINITY이로 인해 일부 프로그램에서 엄청난 성능 문제가 발생했습니다.이력서 제출더 알아보기.

이 내용은 다음과 같이 기록됩니다.EPERM해당 항목은man setrlimit, 그리고/proc/sys/fs/nr_open에 설명되어 있습니다 .man 5 proc.

관련 정보