Linux에서는 최대 열린 파일을 무제한으로 설정합니다.가능한?

StackOverflow https://stackoverflow.com/questions/1212925

  •  06-07-2019
  •  | 
  •  

문제

열린 파일의 최대 수를 "무한" 값으로 설정할 수 있습니까, 아니면 숫자여야 합니까?

데몬 사용자에 대한 설명자 제한을 "무제한"으로 설정해야 한다는 요구 사항이 있었고 이것이 가능한지 또는 이를 수행하는 방법을 확인하려고 합니다.일부 메일링 리스트에서 사용할 수 있는 "최대" 값을 참조하는 것을 보았습니다(예:"myuser hard nofile max"이지만 지금까지 제가 참조한 매뉴얼 페이지와 참고 자료에서는 이를 뒷받침하지 않습니다.

'max' 또는 이와 유사한 것을 사용할 수 없는 경우 (이론적으로) 최대 파일 수를 결정하는 방법을 알고 싶습니다. 그래서 제가 선택한 숫자에 대한 근거가 있습니다.상한을 얻는 더 합리적인 방법이 있다면 100000000 등을 사용하고 싶지 않습니다.

중요한 경우 RHEL 5를 사용하고 있습니다.

업데이트: 질문을 쓰는 데 있어서 나는 바보입니다.이상적으로는 Limits.conf 파일("max"의 출처)에서 이 작업을 수행하고 싶습니다.그러면 대답이 바뀌나요?


의견을 보내주셔서 감사합니다.이것은 제가 작성하고 있는 데몬이 아닌 JBOSS 인스턴스를 위한 것이므로 setrlimit()가 제게 유용한지 모르겠습니다.하지만 Jefromi - 저는 Infinity의 정의를 좋아합니다. :) 파일 설명자가 "두 개의 반바지와 포인터"임을 암시하는 게시물을 보았으므로 대략적인 상한을 계산할 수 있어야 합니다.

도움이 되었습니까?

해결책

POSIX를 사용하면 RLIMIT_NOFILE 리소스 제한 RLIM_INFINITY 사용하여 setrlimit().이것이 의미하는 바는 시스템이 이 리소스 제한을 시행하지 않는다는 것입니다.물론 구현에 따라 여전히 제한이 있을 수 있습니다(예: MAXINT) 및 기타 리소스 제한사항(예:사용 가능한 메모리).

업데이트: RHEL 5의 최대값은 1048576(220) 이 한도(NR_OPEN ~에 /usr/include/linux/fs.h) 루트의 경우에도 무한대를 포함하여 더 큰 값을 허용하지 않습니다.따라서 RHEL 5에서는 이 값을 다음에서 사용할 수 있습니다. /etc/security/limits.conf 그리고 그것은 무한대에 도달할 수 있을 만큼 가깝습니다.

요전 리눅스 커널 패치 그러나 이 제한을 무한대로 설정할 수 있도록 적용되었습니다. 이후 의도하지 않은 결과로 인해 원래 상태로 되돌아갔습니다..

다른 팁

라인을 시도하십시오

<domain>    -

교체 <domain> 가장 간단한 경우 사용자 이름으로.

그만큼 Limits.conf Man Page 말한다

-
    for enforcing both soft and hard resource limits together.

    Note, if you specify a type of '-' but neglect to supply the
    item and value fields then the module will never enforce any
    limits on the specified user/group etc. .
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top