Java & Spring
[트러블 슈팅] Jstack 을 통한 Thread Dump 및 분석
데르벨준
2021. 12. 28. 14:44
반응형
# Access-log X-Forwarded-For 설정
# JStack 을 통한 Thread 분석
기본 OPENJDK-JRE에는 tool bin 이 없으므로 아래와 같이 devel 버전을 깔아야함.
Open-Jdk가 설치된 위치에서 실행 할 때 기존 내용에 업데이트 된다.
# jstack 설치
yum list "java-1.8.0-openjdk*"
yum install java-1.8.0-openjdk-devel.x86_64
1. PID 확인
ps -ef | grep java
or
jps -v
2. dump
root@localhost> jstack PID > filename.dump
3. jstack dump 분석
https://fastthread.io/
4. jstack 분석 방법
https://ijbgo.tistory.com/33
Thread Dump 분석
Thread Dump 생성 방법 Unix : kill -3 [PID] window : Ctrl + Break 공통 : jstack [PID] 반드시 생성시 3~5회 연속으로 생성하여 문제 상황에 대한 변화 과정을 확인 Thread Dump 정보 tid (Java-Level Thread..
ijbgo.tistory.com
==== 설치 로그 ====
[root@locahost jvm]# yum install java-1.8.0-openjdk-devel.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.312.b07-1.el7_9 will be installed
--> Processing Dependency: java-1.8.0-openjdk(x86-64) = 1:1.8.0.312.b07-1.el7_9 for package: 1:java-1.8.0-openjdk-devel-1.8.0.312.b07-1.el7_9.x86_64
--> Running transaction check
---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.282.b08-1.el7_9 will be updated
---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.312.b07-1.el7_9 will be an update
--> Processing Dependency: java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.312.b07-1.el7_9 for package: 1:java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
--> Running transaction check
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.282.b08-1.el7_9 will be updated
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.312.b07-1.el7_9 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================================================================
Installing:
java-1.8.0-openjdk-devel x86_64 1:1.8.0.312.b07-1.el7_9 updates 9.8 M
Updating for dependencies:
java-1.8.0-openjdk x86_64 1:1.8.0.312.b07-1.el7_9 updates 313 k
java-1.8.0-openjdk-headless x86_64 1:1.8.0.312.b07-1.el7_9 updates 33 M
Transaction Summary
==============================================================================================================================================================================================================
Install 1 Package
Upgrade ( 2 Dependent packages)
Total download size: 43 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64.rpm | 313 kB 00:00:00
(2/3): java-1.8.0-openjdk-devel-1.8.0.312.b07-1.el7_9.x86_64.rpm | 9.8 MB 00:00:00
(3/3): java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64.rpm | 33 MB 00:00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 64 MB/s | 43 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 1:java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64 1/5
warning: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security created as /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security.rpmnew
restored /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security.rpmnew to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/security/java.security
Updating : 1:java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64 2/5
Installing : 1:java-1.8.0-openjdk-devel-1.8.0.312.b07-1.el7_9.x86_64 3/5
Cleanup : 1:java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 4/5
Cleanup : 1:java-1.8.0-openjdk-headless-1.8.0.282.b08-1.el7_9.x86_64 5/5
Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.312.b07-1.el7_9.x86_64 1/5
Verifying : 1:java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64 2/5
Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64 3/5
Verifying : 1:java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 4/5
Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.282.b08-1.el7_9.x86_64 5/5
Installed:
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.312.b07-1.el7_9
Dependency Updated:
java-1.8.0-openjdk.x86_64 1:1.8.0.312.b07-1.el7_9 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.312.b07-1.el7_9
Complete!
반응형