티스토리 뷰

728x90

Too many open files Tomcat Error and  NoClassDefFoundError 에러가 발생할 때 해결하는 방법입니다. OS에서 파일 갯수를 제한하고 있는데 이걸 늘려줌으로써 해결할 수 있습니다.


centos 상에서 ulimit 값은 아래와 같이 디폴트로 설정되어있습니다.


#ulimit -a


입력하면 다음과 같이 설정값을 확인할수 있습니다.



이 값은 실행중인 파일이나 프로세스가 증가함에 따라 문제가 일으킬 수 있습니다.


open files 값이나 max user processes 값이 적어서 생기는 문제입니다.


/etc/security/limits.conf로 들어가서


제일마지막에


root hard nofile 65535

root soft nofile 65535

root hard nproc 65535

root soft nproc 65535


추가해주고 centos재시작하면 설정값이 적용됩니다.


재부팅 후 


#ulimit -a


명령어를 쳤을 경우 아래처럼 값이 변경되었음을 확인할수 있습니다.

위의 방법은 user 당 할당 할 수 있는 open file 갯수 조정하는 방법이 였습니다.


시스템 전체 조정 방법은 다음과 같습니다


최대 open file 갯수 조회 방법

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

#sysctl fs.file-max


조회가 가능하고


vi /etc/sysctl.conf에 들어가서 fs.file-max=66536과 같은 방식으로 조정이 가능합니다.

 

 

'Linux' 카테고리의 다른 글

[linux] tar, tar.gz 압축 / 해제 방법  (0) 2017.11.07
파일, 폴더 소유권 바꾸기  (0) 2017.11.07
가상메모리와 스왑  (0) 2017.11.01
메모리 사용량순 프로세스 보기  (0) 2017.11.01
파일 및 프로세스 리미트 조절  (0) 2017.11.01
댓글