본문 바로가기

IT-Consultant

K2 검색서버의 k2admin 프로세스가 계속 CLOSE_WAIT, FIN_WAIT_2의 상태가 지속되면 TOMCAT을 의심해봐라.

아래처럼 FIN_WAIT2의 숫자가 아주 많아지다가 결국에는 Listener Overflow 에러가 발생하면서 K2admin이 먹통이 되어 버린다.
직관적으로 FIN_WAIT2와 CLOSE_WAIT를 발생시킨 프로세스가 무엇인지 확인하면 이 문제를 해결할 수 있다.
lsof | grep port번호 => 이렇게 하면 문제가 되는 프로세스 이름이 무엇인지 알 수 있다.
이 시스템에서 확인해보니 java에서 소켓통신을 하면서 제대로 close하지 않아서 발생한 문제였다.
k2에서 java를 사용하는 것은 딱하나 Tomcat밖에 없다. 바로 Kill  시키니 FIN_WAIT2 상태가 서서히 줄어들었다.
아. 왜 TOMCAT이 문제였다고 생각하지 못했을까?
역시 FM대로 접근하는 것이 가장 좋은 방법이다.
감으로 문제를 해결하려고 하니 계속 다른 곳만 찾아보게 되었다.

어쨋든 이 문제도 해결하였으니 당분간 본연의 개발업무에 집중할 수 있겠다.

10.10.10.22.65241    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.65241    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.32806    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.32806    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.33094    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.33094    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.33404    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.33404    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.34337    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.34337    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.36675    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.36675    49152      0 49152      0 CLOSE_WAIT
10.10.10.22.39966    10.10.10.22.11100    49152      0 49152      0 FIN_WAIT_2
10.10.10.22.11100    10.10.10.22.39966    49152      0 49152      0 CLOSE_WAIT