ulimit 및 최대 파일 제한

ulimit 및 최대 파일 제한

누군가 Linux에서 파일을 열 때의 제한 사항을 설명할 수 있습니까? 문제는 내 응용 프로그램 중 하나가 "열린 파일이 너무 많습니다"라고 보고한다는 것입니다.

나는 가지고있다

ulimit -n
1024

하지만

cat /proc/sys/fs/file-max
6578523

그리고

cat /proc/sys/fs/file-nr
1536

따라서 이미 1536 > 1024가 있습니다. ulimit -n저게 뭐에요? 이것은 매우 혼란스럽습니다.

답변1

ulimit각 프로세스의 최대값을 표시합니다. 아래 두 파일은 /proc시스템 전체의 숫자를 보여줍니다.


~에서서버 장애:

file-max증가하지 않고는 프로세스가 초과할 수 없는 커널 수준에서 적용되는 최대 파일 설명자(FD)입니다. 프로세스 수준에서 시행 되며 ulimit, 이는 file-max.

~에서http://www.linuxvox.com/post/what-are-file-max-and-file-nr-linux-kernel-parameters/:

그것은 무엇입니까 file-max? 이것을 어느 정도로 조정해야 합니까?Linux 문서 정의는 file-maxLinux 커널이 할당할 최대 파일 핸들 수를 나타냅니다.

[...]

내 서버가 이 제한에 도달하려고 하는지 어떻게 알 수 있나요?실행 명령: cat /proc/sys/fs/file-nr. 할당된 파일 핸들 개수, 할당되었으나 사용되지 않은 파일 핸들 개수, 최대 파일 핸들 개수를 나타내는 세 가지 값을 반환합니다. 이는 file-nr조정 가능한 매개변수가 아닙니다. 참고용입니다. 내 서버에서는 다음이 반환됩니다 3488 0 793759. 이는 현재 내 서버에 할당 제한 793,759개 중 3488개만 할당되었으며 현재 이 제한에 도달할 위험이 없음을 의미합니다.

관련 정보