IBM - old/WAS 문제&해결

JAX-WS web service 를 사용하는 중(특히 dynamic port)에 OutOfMemory Exception 발생

freeman98 2016. 5. 30. 12:13

1. WAS 버전 : WAS v8.0 이상

2. OS : All

3. Error 발생 시점 : JAX-WS web service 를 사용하는 중(특히 dynamic port)에 OutOfMemory Exception 발생

4. Error message :

Dump Event "systhrow" (00040000) Detail "java/lang/OutOfMemoryError"

분석을 해보면 org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl 가 많이 점유하고 있음


5. 예상 이유 :  IBM WAS v8.0 이후부터 제품 디자인이 변경되어 JAX-WS dynamic ports 를 사용했을 경우에 기존 공유 방식 대비 더 많은 메모리를 소모하는 형태로 변경되어서 발생될 수 있음

(JAX-WS client 가같은 이름을 가진 dynamic port 를 참조하는 여러 서비스 인스턴스를 가지고 있을 경우 해당 인스턴스들을 공유하지 않는 형태로 변경)

6. 조치 방안 :  Heap 메모리를 더 많이 부여하거나 하단과 같은 JVM 옵션을 사용해서 메모리 사용을 제어

jaxws.share.dynamic.ports.enable = true

7. 참고 자료 

After migrating WebSphere Application Server from V6.1 to V8.0, JAX-WS application started getting Java OutOfMemoryError

http://www-01.ibm.com/support/docview.wss?uid=swg21634776


Maximo on WebSphere 8.0.x and Websphere 8.5.x runs into Out Of Memory Situation

http://www-01.ibm.com/support/docview.wss?uid=swg21643729