Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
NAVER D2
PDF, PPTX
13,529 views
[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례
Technology
◦
Read more
74
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 54
2
/ 54
3
/ 54
4
/ 54
5
/ 54
6
/ 54
7
/ 54
8
/ 54
9
/ 54
10
/ 54
11
/ 54
12
/ 54
13
/ 54
14
/ 54
15
/ 54
16
/ 54
17
/ 54
18
/ 54
19
/ 54
20
/ 54
21
/ 54
22
/ 54
23
/ 54
24
/ 54
25
/ 54
26
/ 54
27
/ 54
28
/ 54
29
/ 54
30
/ 54
31
/ 54
32
/ 54
33
/ 54
34
/ 54
35
/ 54
36
/ 54
37
/ 54
38
/ 54
39
/ 54
40
/ 54
41
/ 54
42
/ 54
43
/ 54
44
/ 54
45
/ 54
46
/ 54
47
/ 54
48
/ 54
49
/ 54
50
/ 54
51
/ 54
52
/ 54
53
/ 54
54
/ 54
More Related Content
PDF
[IMQA] performance consulting
by
IMQA
PDF
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
by
Open Source Consulting
PDF
SSRF基礎
by
Yu Iwama
PDF
Pythonが動く仕組み(の概要)
by
Yoshiaki Shibutani
PPTX
NGINX Installation and Tuning
by
NGINX, Inc.
PPTX
Introduction to Ostinato, network packet crafting and generator.
by
Kentaro Ebisawa
PDF
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
by
Amazon Web Services Korea
PPTX
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
by
vivekkonnect
[IMQA] performance consulting
by
IMQA
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
by
Open Source Consulting
SSRF基礎
by
Yu Iwama
Pythonが動く仕組み(の概要)
by
Yoshiaki Shibutani
NGINX Installation and Tuning
by
NGINX, Inc.
Introduction to Ostinato, network packet crafting and generator.
by
Kentaro Ebisawa
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
by
Amazon Web Services Korea
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
by
vivekkonnect
What's hot
PDF
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
by
NAVER D2
PDF
RPC에서 REST까지 간단한 개념소개
by
Wonchang Song
PPTX
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
by
Sangik Bae
PPTX
WebRTC SFU Mediasoup Sample update
by
mganeko
PDF
채팅서버의 부하 분산 사례
by
John Kim
PPTX
Linuxのsemaphoreとmutexを見る
by
wata2ki
PDF
パケットキャプチャの勘どころ Ssmjp 201501
by
稔 小林
PDF
JANOG43 Forefront of SRv6, Open Source Implementations
by
Kentaro Ebisawa
PDF
Software Defined Datacenter with Proxmox
by
GLC Networks
PPTX
Vagrant
by
Evans Ye
PDF
Open vSwitch Introduction
by
HungWei Chiu
PDF
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
by
SONG INSEOB
PPTX
OVN DBs HA with scale test
by
Aliasgar Ginwala
PPTX
Kolla talk at OpenStack Summit 2017 in Sydney
by
Vikram G Hosakote
PDF
Nginx dhruba mandal
by
Dhrubaji Mandal ♛
PPTX
OpenTelemetry For Architects
by
Kevin Brockhoff
PDF
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
PDF
SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"
by
South Tyrol Free Software Conference
PPTX
TRex Realistic Traffic Generator - Stateless support
by
Hanoch Haim
PPTX
Opendaylight SDN Controller
by
Sumit Arora
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
by
NAVER D2
RPC에서 REST까지 간단한 개념소개
by
Wonchang Song
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
by
Sangik Bae
WebRTC SFU Mediasoup Sample update
by
mganeko
채팅서버의 부하 분산 사례
by
John Kim
Linuxのsemaphoreとmutexを見る
by
wata2ki
パケットキャプチャの勘どころ Ssmjp 201501
by
稔 小林
JANOG43 Forefront of SRv6, Open Source Implementations
by
Kentaro Ebisawa
Software Defined Datacenter with Proxmox
by
GLC Networks
Vagrant
by
Evans Ye
Open vSwitch Introduction
by
HungWei Chiu
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
by
SONG INSEOB
OVN DBs HA with scale test
by
Aliasgar Ginwala
Kolla talk at OpenStack Summit 2017 in Sydney
by
Vikram G Hosakote
Nginx dhruba mandal
by
Dhrubaji Mandal ♛
OpenTelemetry For Architects
by
Kevin Brockhoff
組み込みLinuxでのGolangのススメ
by
Tetsuyuki Kobayashi
SFScon15 - Thomas Lamprecht: "Proxmox Virtual Environment 4.0"
by
South Tyrol Free Software Conference
TRex Realistic Traffic Generator - Stateless support
by
Hanoch Haim
Opendaylight SDN Controller
by
Sumit Arora
Viewers also liked
PDF
개발을잘하고싶어요-네이버랩스 송기선님
by
NAVER D2
PDF
[D2]pinpoint 개발기
by
NAVER D2
PPTX
Papago/N2MT 개발이야기
by
NAVER D2
PDF
Lkda facebook seminar_140419
by
sprdd
PDF
텀 프로젝트에서 제품 프로젝트로 - 성준영님
by
NAVER D2
PDF
HKG15-300: Art's Quick Compiler: An unofficial overview
by
Linaro
PDF
데이터분석과통계2 - 최재걸님
by
NAVER D2
PPTX
리눅스서버세팅-김태호
by
ETRIBE_STG
PDF
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
by
NAVER D2
PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - OkHttp
by
NAVER D2
PPTX
[D2CAMPUS] Dotuator - 능동형 촉감 전달 점자 디스플레이 (BARAM)
by
NAVER D2
PDF
광동요리사업계획서
by
SNS4U
PPTX
HungryOsori 2016년 1학기 최종 발표
by
Osori Hanyang
PDF
Gdb cheat sheet
by
Piyush Mittal
PDF
[D2]java 성능에 대한 오해와 편견
by
NAVER D2
PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
by
NAVER D2
PDF
학교에서 배우지 않는 C
by
Heesuk Kang
PDF
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
by
NAVER D2
PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - java OOM, Reference API
by
NAVER D2
PDF
제2회 hello world 오픈세미나 collie html5-animationlibrary
by
NAVER D2
개발을잘하고싶어요-네이버랩스 송기선님
by
NAVER D2
[D2]pinpoint 개발기
by
NAVER D2
Papago/N2MT 개발이야기
by
NAVER D2
Lkda facebook seminar_140419
by
sprdd
텀 프로젝트에서 제품 프로젝트로 - 성준영님
by
NAVER D2
HKG15-300: Art's Quick Compiler: An unofficial overview
by
Linaro
데이터분석과통계2 - 최재걸님
by
NAVER D2
리눅스서버세팅-김태호
by
ETRIBE_STG
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
by
NAVER D2
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - OkHttp
by
NAVER D2
[D2CAMPUS] Dotuator - 능동형 촉감 전달 점자 디스플레이 (BARAM)
by
NAVER D2
광동요리사업계획서
by
SNS4U
HungryOsori 2016년 1학기 최종 발표
by
Osori Hanyang
Gdb cheat sheet
by
Piyush Mittal
[D2]java 성능에 대한 오해와 편견
by
NAVER D2
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - Http Request
by
NAVER D2
학교에서 배우지 않는 C
by
Heesuk Kang
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
by
NAVER D2
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - java OOM, Reference API
by
NAVER D2
제2회 hello world 오픈세미나 collie html5-animationlibrary
by
NAVER D2
Similar to [D2]thread dump 분석기법과 사례
PDF
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
by
YongSung Yoon
PDF
지금 핫한 Real-time In-memory Stream Processing 이야기
by
Ted Won
PDF
Netty 세미나
by
Jang Hoon
PDF
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
by
Ho Jeong Im
PDF
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
by
NAVER D2
PPTX
500.JBoss Troubleshooting Essential
by
Opennaru, inc.
PDF
웹기반원격감시제어 2010 CPD
by
활 김
PDF
서버를 위한 동시성 모델과 Staged eventdrivenarchitecture
by
HyeonSeok Choi
PDF
[오픈소스컨설팅]파일럿진행예제 on AWS
by
Ji-Woong Choi
PPTX
포스트모템디버깅과 프로세스 덤프 실전
by
주항 박
PPTX
뇌자T etc.windows multi threading programming
by
cancan21st
PPTX
서버 아키텍처 이해를 위한 프로세스와 쓰레드
by
KwangSeob Jeong
PDF
세션3 node.js의 의미와 자바의 대안
by
Lee Ji Eun
PPTX
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
by
ymtech
PPTX
Implementing remote procedure calls rev2
by
Sung-jae Park
PPTX
tcp ip study
by
준철 박
PPTX
System+os study 3
by
J J
PPTX
[명우니닷컴]자바 스레드에 대해
by
Myeongun Ryu
PPTX
네트워크 프로그래밍 입출력 다중화 & 논블록소켓
by
Eutark Park
PDF
Concurreny programming
by
Jaejin Yun
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
by
YongSung Yoon
지금 핫한 Real-time In-memory Stream Processing 이야기
by
Ted Won
Netty 세미나
by
Jang Hoon
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
by
Ho Jeong Im
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
by
NAVER D2
500.JBoss Troubleshooting Essential
by
Opennaru, inc.
웹기반원격감시제어 2010 CPD
by
활 김
서버를 위한 동시성 모델과 Staged eventdrivenarchitecture
by
HyeonSeok Choi
[오픈소스컨설팅]파일럿진행예제 on AWS
by
Ji-Woong Choi
포스트모템디버깅과 프로세스 덤프 실전
by
주항 박
뇌자T etc.windows multi threading programming
by
cancan21st
서버 아키텍처 이해를 위한 프로세스와 쓰레드
by
KwangSeob Jeong
세션3 node.js의 의미와 자바의 대안
by
Lee Ji Eun
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
by
ymtech
Implementing remote procedure calls rev2
by
Sung-jae Park
tcp ip study
by
준철 박
System+os study 3
by
J J
[명우니닷컴]자바 스레드에 대해
by
Myeongun Ryu
네트워크 프로그래밍 입출력 다중화 & 논블록소켓
by
Eutark Park
Concurreny programming
by
Jaejin Yun
More from NAVER D2
PDF
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
by
NAVER D2
PDF
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
by
NAVER D2
PDF
[211] 인공지능이 인공지능 챗봇을 만든다
by
NAVER D2
PDF
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
by
NAVER D2
PDF
[215] Druid로 쉽고 빠르게 데이터 분석하기
by
NAVER D2
PDF
[232] TensorRT를 활용한 딥러닝 Inference 최적화
by
NAVER D2
PDF
[223]기계독해 QA: 검색인가, NLP인가?
by
NAVER D2
PDF
[224]네이버 검색과 개인화
by
NAVER D2
PDF
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
by
NAVER D2
PDF
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
by
NAVER D2
PDF
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
by
NAVER D2
PDF
[244]로봇이 현실 세계에 대해 학습하도록 만들기
by
NAVER D2
PDF
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
by
NAVER D2
PDF
[243] Deep Learning to help student’s Deep Learning
by
NAVER D2
PDF
[213] Fashion Visual Search
by
NAVER D2
PDF
[235]Wikipedia-scale Q&A
by
NAVER D2
PDF
[234]Fast & Accurate Data Annotation Pipeline for AI applications
by
NAVER D2
PDF
[245]Papago Internals: 모델분석과 응용기술 개발
by
NAVER D2
PDF
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
by
NAVER D2
PDF
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
by
NAVER D2
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
by
NAVER D2
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
by
NAVER D2
[211] 인공지능이 인공지능 챗봇을 만든다
by
NAVER D2
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
by
NAVER D2
[215] Druid로 쉽고 빠르게 데이터 분석하기
by
NAVER D2
[232] TensorRT를 활용한 딥러닝 Inference 최적화
by
NAVER D2
[223]기계독해 QA: 검색인가, NLP인가?
by
NAVER D2
[224]네이버 검색과 개인화
by
NAVER D2
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
by
NAVER D2
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
by
NAVER D2
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
by
NAVER D2
[244]로봇이 현실 세계에 대해 학습하도록 만들기
by
NAVER D2
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
by
NAVER D2
[243] Deep Learning to help student’s Deep Learning
by
NAVER D2
[213] Fashion Visual Search
by
NAVER D2
[235]Wikipedia-scale Q&A
by
NAVER D2
[234]Fast & Accurate Data Annotation Pipeline for AI applications
by
NAVER D2
[245]Papago Internals: 모델분석과 응용기술 개발
by
NAVER D2
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
by
NAVER D2
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
by
NAVER D2
[D2]thread dump 분석기법과 사례
1.
Thread
2.
dump
3.
분석기법과 사례 구 태
진 2015-05-22
4.
2 대외비 목차 1. 개요 2. 스레드덤프 3.
트러블 슈팅 사례 4. 맺음말
5.
3 대외비 개요 - 통신 기술
발달 및 접근 기기 다양화로 웹서비스의 접근량 증가
6.
4 대외비 개요 - 리소스 사용
극대화는 핵심 경쟁력
7.
5 대외비 개요 Multithreaded
8.
Programming (이론 +
9.
실전 검증)
10.
6 대외비 Multithreaded
11.
Programming 개요
12.
7 대외비 개요 Multithread
13.
Programming
14.
8 대외비 개요 멀티 스레드 관련
지식을 쌓고 싶은 분은 아래 책들을.
15.
16.
17.
9 대외비 개요 멀티 스레드 관련
지식을 쌓고 싶은 분은 아래 책들을.
18.
19.
20.
10 대외비 개요 멀티 스레드 개발을
하지 않고 있다면?
21.
11 대외비 개요 이미 나 말고
다 멀티스레드 …⋯…⋯ • 내가 사용하고 있는 프레임워크에서 문제 가 발생한다면? • 내가 사용하고 있는 WAS에서 문제가 발 생한다면? • 내가 사용하는 라이브러리에서 문제가 발 생한다면?
22.
12 대외비 개요 Thread
23.
Dump
24.
13 대외비 스레드덤프 • 분석 방법
25.
14 대외비 스레드덤프 • 스레드 덤프
생성 On
26.
Unix
27.
:
28.
kill -3
29.
[PID] On
30.
Window :
31.
Ctrl
32.
+
33.
Break 공통 :
34.
jstack [PID] 생성할 땐
반드시 3
35.
~
36.
4장을 연속으로..
37.
문제 상황을 오랫동안
지켜 볼 수 있다면 텀을 두고 생성 하는 것도 좋습니다.
38.
39.
15 대외비 스레드덤프 • 스레드 덤프의
정보
40.
16 대외비 스레드덤프 - 스레드이름 •
Thread에 목적에 맞는 이름을 부여하자 - 스레드 이름을 지정하지 않는 경우 Thread-(Number)
41.
- DefaultThreadFactory를 이용하는
경우 pool-(Number)-thread-(Number)
42.
17 대외비 스레드덤프 - 스레드이름 •
Thread 객체 이용시 - setName()
43.
메소드 이용하여 설정 (Thread-0
44.
- SeverSocket-Handler
45.
127.0.0.1
46.
-
47.
127.0.0.1)
48.
18 대외비 스레드덤프 - 스레드이름 •
Thread Pool
49.
이용시 - 스레드마다
특징을 가지지 않을 경우 (pool-0-thread-0
50.
- SeverSocket-Handler(0)) ThreadFactory를 구현 -
FixedThreadPool 이용시 (pool-0-thread-0
51.
- SeverSocket-Handler(0/20))
52.
19 대외비 스레드덤프 - 스레드이름 •
Thread Pool
53.
이용시 - 스레드마다
특징을 가질 경우 (pool-0-thread-0
54.
- SeverSocket-Handler(0)
55.
127.0.0.1
56.
-
57.
127.0.0.1) ThreadFactory에서 Thread할당시 Runnable로
Thread명 변경
58.
20 대외비 스레드덤프 - 스레드아이디 •
tid (Java-level
59.
thread
60.
ID) - this
61.
ID
62.
is
63.
simply
64.
a
65.
auto-incrementing
66.
long,
67.
starting
68.
from
69.
1. • nid (Native
70.
thread
71.
ID) - This
72.
ID
73.
is
74.
highly
75.
platform
76.
dependent. - On
77.
Windows,
78.
it's
79.
simply
80.
the
81.
OS-level
82.
thread
83.
ID
84.
within
85.
a
86.
process. - On
87.
Linux,
88.
it's
89.
the
90.
pid of
91.
the
92.
thread
93.
(which
94.
in
95.
turn
96.
is
97.
a
98.
light-weight
99.
process). - On
100.
Solaris,
101.
it's
102.
the
103.
thread
104.
as
105.
returned
106.
by thr_self() - On
107.
Mac
108.
OS
109.
X, it
110.
is
111.
said
112.
to
113.
be the
114.
native
115.
pthread_t value.
116.
21 대외비 스레드덤프 - 스레드
아이디 • 스레드 아이디는 모두 16진수 (
117.
16진수 -
118.
10진수) - On
119.
Window
120.
:
121.
계산기를 이용 - On
122.
Unix
123.
: 쉘명령 이용 10진수
-
124.
16진수 (echo
125.
obase=16;10039
126.
|
127.
bc - 2737) 16진수
-
128.
10진수 (echo
129.
$((0x2737))
130.
- 10039)
131.
22 대외비 스레드덤프 - 스레드아이디 •
tid를 이용하여 정보획득 - ThreadMXBean을 이용하여 ThreadInfo 정보 획득 가능 - JMX
132.
혹은 Rest
133.
API등록으로 정보 획득을
가능하게 할 경우 문제 분석에 용이 (tid와 threadId가 다른 경우도 존재하기 때문에 Name으로 찾는 것이 좋음)
134.
135.
136.
137.
23 대외비 스레드덤프 - 스레드아이디 •
tid를 이용하여 정보획득 - ThreadMXBean을 이용하여 ThreadInfo 정보 획득 가능 - JMX
138.
혹은 Rest
139.
API등록으로 정보 획득을
가능하게 할 경우 문제 분석에 용이 (tid와 threadId가 다른경우도 존재하기 때문에 Name으로 찾는 것도 방법)
140.
141.
142.
143.
24 대외비 스레드덤프 - 스레드아이디 •
nid를 이용하여 정보획득 - On
144.
Linux
145.
:
146.
ps –mo,
147.
ps –Elf
148.
이용
149.
25 대외비 스레드덤프 - 상태 •
스레드 상태
150.
26 대외비 스레드덤프 - 상태
(BLOCKED) • synchronied
151.
27 대외비 스레드덤프 - 상태
(BLOCKED) • synchronied
152.
28 대외비 스레드덤프 - 상태
(BLOCKED)
153.
29 대외비 스레드덤프 - 상태
(BLOCKED)
154.
30 대외비 스레드덤프 - 상태
(BLOCKED) - DEADLOCK • synchronied
155.
31 대외비 스레드덤프 - 상태
(BLOCKED) - DEADLOCK • synchronied
156.
32 대외비 스레드덤프 - 상태
(BLOCKED) - DEADLOCK
157.
33 대외비 스레드덤프 - 상태
(BLOCKED) - DEADLOCK
158.
34 대외비 스레드덤프 - 상태
(WAIT) • wait - wait
159.
메소드 실행 시
가지고 있던 모니터를 다 반환 - wait하는 객체를 notify를 하는 코드를 찾아야 한다.
160.
161.
35 대외비 스레드덤프 - 상태
(WAIT) • wait
162.
– notify를 이용한
스레드 덤프 예제
163.
36 대외비 스레드덤프 - 상태
(WAIT)
164.
37 대외비 스레드덤프 - 상태
(WAIT)
165.
38 대외비 스레드덤프 - 상태
(WAIT)
166.
39 대외비 스레드덤프 - 상태
(RUNNABLE)
167.
40 대외비 스레드덤프 - 상태
(RUNNABLE)
168.
41 대외비 트러블 슈팅 사례
- #1 1. 장애현상 CPU
169.
사용 및 CPU
170.
로드가 점차적으로 늘어남
171.
42 대외비 트러블 슈팅 사례
- #1 2.
172.
재시작후 스레드 덤프를
주기적으로 생성 - 최초 - CPU
173.
사용률이 높아지는 시점 -
CPU
174.
사용률이 30%
175.
이상 올라간 시점
176.
43 대외비 트러블 슈팅 사례
- #1 3.
177.
장애 원인 확인 -
리소스 정리 부분에 예외가 발생할 경우 스레드 Leak발생 확인
178.
44 대외비 트러블 슈팅 사례
- #2 1. 장애 현상 요청이 증가하는 경우 장애가 발생하지는 않지만 응답시간이 눈에 뛰게 느려지는 현상을 경험하게 됨
179.
45 대외비 트러블 슈팅 사례
- #2 2.
180.
스레드 덤프 생성
후 TDA로 분석 스레드 덤프 생성후 BLOCKED상태이거나 WAIT
181.
상태가 많은 스레드가
있는지 확인 1005개의 스레드가 Wait
182.
상태인 것을 확인
183.
46 대외비 트러블 슈팅 사례
- #2 3.
184.
스택트레이스 확인 log4j.Logger에서 Lock을
잡고 있는 것 확인 가능
185.
47 대외비 트러블 슈팅 사례
- #2 4.
186.
log4j
187.
설정 확인 5.
188.
log4j
189.
도큐먼트 확인
190.
48 대외비 트러블 슈팅 사례
- #3 1. 장애 현상 요청이 증가한 매우 간헐적으로 CPU가 100%로 폭증함.
191.
이후 요청 량이
줄어들어도 CPU
192.
사용량은 줄어들지 않음 재시작후
정상으로 돌아옴
193.
49 대외비 트러블 슈팅 사례
- #3 2.
194.
CPU를 많이 사용하는
스레드 확인 ps -mo 명령어를 통하여 cpu를 많이 사용하는 lwp(light
195.
weight
196.
process)
197.
획득
198.
50 대외비 트러블 슈팅 사례
- #3 3.
199.
16진수로 변경된 Thread
200.
Id를 이용하여 스레드
덤프 검색 4.
201.
장애 원인 확인 commons-beanutils의
BEANUTILS-318 (https://issues.apache.org/jira/browse/BEANUTILS-318)버그 WeakHashMap이 동시 접근함
202.
51 대외비 맺음말 스레드 덤프 분석툴 l
TDA
203.
(https://java.net/projects/tda) l SAMURAI
204.
(http://samuraism.jp/samurai/en/index.html) ※
205.
단,
206.
덤프 분석을 알고
있는 상태로 툴을 사용할 경우 매우 유용하지만,
207.
그렇지 않을 경우 분석이
어렵다는 것은 똑같다.
208.
209.
210.
52 대외비 맺음말 • 사실 스레드
덤프 분석은 코드를 아는 사람이 유리합니다. • 자주 사용되는 멀티스레드 패턴을 알고 있다면 더욱 좋습니다.
211.
• 문제가 없더라도
가끔 떠보면 좋은 정보를 획득할 수도 있습니다.
212.
213.
53 대외비 이미지 참고 • http://www.upsidelearning.com/blog/index.php/tag/elearning-in-a-multi- device-world/ •
http://www.appliedmaterials.com/nanochip/nanochip-fab- solutions/december-2013/cover-story-fabs-in-the-internet-of-things-era • http://en.wikipedia.org/wiki/Amdahl's_law • http://www.anandtech.com/show/7603/mac-pro-review-late-2013/2 • http://www.ni.com/white-paper/14035/ko/
214.
54 대외비 QA
Download