Thread
 dump
 분석기법과 사례
구 태 진
2015-05-22
2
대외비
목차
1. 개요
2. 스레드덤프
3. 트러블 슈팅 사례
4. 맺음말
3
대외비
개요
- 통신 기술 발달 및 접근 기기 다양화로 웹서비스의 접근량 증가
4
대외비
개요
- 리소스 사용 극대화는 핵심 경쟁력
5
대외비
개요
Multithreaded
 Programming
(이론 +
 실전 검증)
6
대외비
Multithreaded
 Programming
개요
7
대외비
개요
Multithread
 Programming
8
대외비
개요
멀티 스레드 관련 지식을 쌓고 싶은 분은 아래 책들을.
 
 
9
대외비
개요
멀티 스레드 관련 지식을 쌓고 싶은 분은 아래 책들을.
 
 
10
대외비
개요
멀티 스레드 개발을 하지 않고 있다면?
11
대외비
개요
이미 나 말고 다 멀티스레드 …⋯…⋯
• 내가 사용하고 있는 프레임워크에서 문제
가 발생한다면?
• 내가 사용하고 있는 WAS에서 문제가 발
생한다면?
• 내가 사용하는 라이브러리에서 문제가 발
생한다면?
12
대외비
개요
Thread
 Dump
13
대외비
스레드덤프
• 분석 방법
14
대외비
스레드덤프
• 스레드 덤프 생성
On
 Unix
 :
 kill -3
 [PID]
On
 Window :
 Ctrl
 +
 Break
공통 :
 jstack [PID]
생성할 땐 반드시 3
 ~
 4장을 연속으로..
 
문제 상황을 오랫동안 지켜 볼 수 있다면 텀을 두고 생성 하는 것도 좋습니다.
 
15
대외비
스레드덤프
• 스레드 덤프의 정보
16
대외비
스레드덤프 - 스레드이름
• Thread에 목적에 맞는 이름을 부여하자
- 스레드 이름을 지정하지 않는 경우
Thread-(Number)
 
- DefaultThreadFactory를 이용하는 경우
pool-(Number)-thread-(Number)
17
대외비
스레드덤프 - 스레드이름
• Thread 객체 이용시
- setName()
 메소드 이용하여 설정
(Thread-0
 - SeverSocket-Handler
 127.0.0.1
 -
 127.0.0.1)
18
대외비
스레드덤프 - 스레드이름
• Thread Pool
  이용시
- 스레드마다 특징을 가지지 않을 경우
(pool-0-thread-0
 - SeverSocket-Handler(0))
ThreadFactory를 구현
- FixedThreadPool 이용시
(pool-0-thread-0
 - SeverSocket-Handler(0/20))
19
대외비
스레드덤프 - 스레드이름
• Thread Pool
  이용시
- 스레드마다 특징을 가질 경우
(pool-0-thread-0
 - SeverSocket-Handler(0)

[D2]thread dump 분석기법과 사례