반응형
java.net.ConnectException: Connection refused 연결 거부 오류
VM에 솔루션을 설치하고 톰캣을 기동했더니 'Connection refused'라는 연결 거부 오류가 발생하였다.
해당 오류의 원인은 사용 가능한 프로세스가 없어서였다.
ulimit -u 를 입력하여 허용된 프로세스의 최대 수를 확인해보았다.
cf) ulimit -u : 사용자에게 사용 가능한 최대 프로세스 수를 지정하는 명령어
기존에는 최대 4096까지 허용되고 있었다.
허용된 프로세스 수가 많지는 않았기에, 톰캣을 기동하면서 사용할 수 있는 프로세스를 모두 소모하였고 그로 인해 연결이 거부된 것으로 보인다.
또한, VM을 설치하면서 적은 메모리를 할당하였는데 이 때문에 프로세스도 금방 소모된 것이 아닌가 싶다.
반응형
이를 해결하기 위해서는 프로세스 수를 131072 또는 무제한(unlimited)으로 증가시키면 된다.
$ ulimit -u 131072
$ ulimit -u unlimited
나는 VM 할당 메모리를 기존보다 1.5배로 늘렸고, 프로세스 수도 무제한으로 늘렸더니 톰캣이 정상적으로 작동되었다.
출처: https://www.ibm.com/docs/ko/imdm/11.6?topic=issues-javanetconnectexception-connection-refused-error
반응형