본문 바로가기

OS/Linux

Linux - Too many open files 오류 해결 방법

728x90

"too many open files" 오류가 발생하여 리눅스에서 이를 해결하는 방법에 대해 알려드리겠습니다. 

이 오류는 시스템이 동시에 열 수 있는 파일 디스크립터(File Descriptor)의 제한을 초과했을 때 발생합니다. 

파일 디스크립터는 파일 또는 소켓과 같은 리소스에 대한 참조를 나타내며, 시스템 전체에서 고유한 번호로 식별됩니다. 

오류 메시지는 "too many open files" 또는 "open: Too many open files"와 같이 나타날 수 있습니다.

이 문제를 해결하기 위해 다음과 같은 몇 가지 해결 방법을 시도해 볼 수 있습니다:

1. open files 최대 개수 확인 :
최대 개수를 확인하려면 ulimit -a 명령을 사용합니다. 

ulimit -n 으로 확인해도 됩니다.

 

2.1 파일 디스크립터 제한 값 변경 - 임시 (재부팅하면 초기화됨)

ulimit -n <새로운_제한_값>
ex) ulimit -n 8192

 

2.2 시스템 설정 변경:
파일 디스크립터 제한 값을 영구적으로 변경하려면 시스템 설정 파일을 수정해야 합니다. 

/etc/security/limits.conf 파일을 사용하여 이를 구성할 수 있습니다.

* hard nofile <새로운_제한_값>
* soft nofile <새로운_제한_값>

변경된 제한 값은 시스템 재부팅 후에도 유지됩니다. (현재 접속 중인 세션에는 적용 안됨 / 새로운 세션 부터 적용)
* ulimit -aH는 hard limit, -aS는 sort limit를 확인가능

soft : 실제 적용되는 값
hard : 사용 가능 최대값

728x90
반응형