반응형


CentOS ulimit 값 변경 (Too many open files Tomcat Error and NoClassDefFoundError)




Too many open files Tomcat Error and  NoClassDefFoundError 에러가 톰캣에서 발생할 때 해결하는 방법이에요


OS에서 파일 갯수를 제한하고 있는데 이걸 늘려줌으로써 해결할 수 있어요





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


(ulimit -a 쳐보면 나와요) --> 현재 로그인 된 계정의 설정 값이 보임


    /proc/[pid]/limits : 이것을 통해 프로세스에 적용된 limit 정보도 확인 가능










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


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 lever open file 갯수 조정하는 방법이고


전체 조정 방법은


    최대 open file 갯수 조회 방법


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


      #sysctl fs.file-max


로 조회가 가능하고


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



반응형
LIST

+ Recent posts