반응형
socket 생성시 특히 linux에서 아래와 같은 메시지가 발생하는 경우가 있습니다.
Caused by: java.io.IOException: 열린 파일이 너무 많음
또는
Caused by: java.io.IOException: too manny open files
보통 이 에러는, 프로그램에서 파일 close를 제대로 안했을 경우 발생하는 에러인데, 소켓 프로그램에서도 발생할 수 있습니다.
이 오류가 발생하면 해당 프로그램 뿐만 아니라 시스템 자체에 장애가 발생합니다.
stackoverflow.com/questions/8170902/why-is-the-jdk-nio-using-so-many-anon-inode-file-descriptors
요점은, NIO를 사용할 경우 문제가 생길 수 있다는 것입니다.
OioClient로 소켓을 생성하면 된다고 합니다.
728x90
반응형
'웹 개발' 카테고리의 다른 글
Spring boot application 시작 시, CPU 100% 를 사용할 경우 대처 방법 (0) | 2020.11.29 |
---|---|
java에서 메모리 문제가 발생할 경우 사용해볼 수 있는 메모리 옵션 (0) | 2020.11.29 |
spring boot jar 외부에서 properties 파일을 읽는 방법 (0) | 2020.11.22 |
spring boot에서 mybatis ${} 사용시 sql injection 방어하기 (0) | 2020.11.21 |
NPE(Null Pointer Exception)으로부터 안전한 프로그래밍 하기 (1) | 2020.11.08 |