리눅스에서 어플리케이션(was서버 등등)을 잘 돌리다가
성능테스트에서 too many open files
라는 에러가 나왔다....
구글링을 해본 결과 os에 요청하는 프로세스수가 설정해 놓은 limit
을 넘어서 생긴 에러라한다.
ulimt
명이령어를 통해 nofile limit을 확인한다
$ulimit -Hn
$ulimit -Sn
기본값은 4096
, 1024
다
limit을 막 올려버리면 문제가 생길 수 있기 때문에 아래와같은 명령어로 system 전체 limit을 확인해본다
limit을 설정할때는 system 전체 limit보다 적게 설정해야한다
$ cat /proc/sys/fs/file-max
전체 limit을 확인했으면 root
계정으로 /etc/security/limits.conf
파일을 열어서 아래와같은 포맷으로 입력해준다
....
[어플리케이션 계정] hard nofile [limit설정값]
[어플리케이션 계정] soft nofile [limit설정값]
[어플리케이션 계정] soft memlock unlimited
[어플리케이션 계정] soft memlock unlimited
....
(메모리는 혹시모르니 unlimited
로 걸어준다)
어플리케이션 계정에 *을 넣으면 전체 다 적용되는거같은데 안전이나 보안을 위해 사용 어플리케이션 계정마다 적용시켜준다
터미널을 다시 껏다키켜서 ulimit
으로 확인해보면 바뀐것을 확인할 수 있다
혹시모르니 어플리케이션도 다시 재기동하자
'Error resolution' 카테고리의 다른 글
Spring 실행 중 Tibero DB Archive Log Full 처리 (0) | 2021.08.06 |
---|---|
[Spring boot | Tomcat error] maxPostSize / 대용량 String post로 전송하는 방법 (0) | 2021.05.13 |
[Maven] *.jar에 기본 Manifest 속성이 없습니다. 에러 (0) | 2021.05.06 |
[redis-server] (error) NOAUTH Authentication required 에러 (0) | 2021.04.12 |
[centos 7] php로 외부서버 mysql 연동 오류 및 해결 (0) | 2021.04.07 |