728x90
고객사 중 weblogic 운영 장비에서 netstat -an 을 통해 확인해보면 100개 이상의 CLOSE_WAIT state가 잡혀 있다는 문제가 발생했다.
이에 대한 자세한 분석을 위해 thread dump를 분석하였다.
여기서 이상했던 점은 weblogic 관련 thread들이 모두 "Waiting on Condition" 상태에 있었다는 점이다.
위 현상은 weblogic이나 application에서의 문제점은 아닐 수도 있다는 접근으로 분석해보았다.
Waiting on Condition은 Thread가 조건 변수(Condition Variable)에 의해 대기 중인 상태임을 의미한다.
이 상태의 thread의 경우 내부 VM의 조건 변수를 기다리고 있다. 이들은 Java 객체가 아니기 때문에 식별할 방법이 없으며, thread가 클래스 로딩, 컴파일, 최적화 해제 등을 위해 VM에 진입하였고, 여기서 조건 변수에 의해 waiting on condition 상태가 유지되는 것이다.
따라서 이를 분석하기 위해서는 VM thread dump를 분석할 필요가 있다.
단 고객사의 경우 OS 재기동을 통해 위 waiting on condition 상태가 해소됐다.
728x90
'Oracle > TroubleShooting' 카테고리의 다른 글
WebLogic SSL 에러 - PKIX Path Building Failed (0) | 2022.12.14 |
---|---|
WebLogic JDK 7에서 8로 업그레이드 후 TLS 관련 (0) | 2022.12.14 |
WebLogic console 404 error (0) | 2022.11.14 |
JTA Timeout 관련 Error (0) | 2022.10.31 |
Missing SerializedSystemIni.dat (0) | 2022.10.24 |