TDA(ThreadDump analiyzer) 를 이용한 스레드덤프 분석

순서

  1. 쓰레드 덤프를 5~7초 간격으로 3~5회 정도 추출한다.
    jstack 또는 kill -3 명령을 이용

  2. TDA(ThreadDump analyzer)를 실행한다.

  3. 파일 – 열기 선택 후 스레드 덤프 파일을 선택한다.

  4. 분석 시작


주의사항

쓰레드 덤프를 간격을 두고 여러번 추출하는 이유는 여러번 추출하는 동안 같은 부분에 BLOCK이 되어 있다면 로직 처리 시간이 15초가 넘어가는 경우기 때문에 병목 현상을 예상할 수 있습니다.


위의 이미지를 보면 덤프가 출력된 시간을 볼 수 있습니다. 약 7초간격으로 반복적으로 쓰레드 덤프를 출력 했습니다.

위의 상황을 Oracle JDBC에서 대기 상태로 남는 문제가 발생되는 것을 확인할 수 있습니다. 링크된 부분을 클릭하면 LOCK 된 객체때문에 대기중인 스레드 정보도 확인할 수 있습니다.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s