블로그 이름

CPU 많이 쓰는 스레드 찾기 본문

개발/기타

CPU 많이 쓰는 스레드 찾기

Hide 2024. 9. 25. 22:29

리눅스 서버에서 TOP 명령어를 사용하여 현황을 확인한다.

 

jstack 포트번호 > jstack_dump.log

 

cat jstack_dump.log 를 사용하여 스레드를 확인한다.

 

ps -mo로 스레드의 CPU 사용량을 확인한다.

 

jstack.log에서 스레드ID로 찾는다.

 

ps 명령으로 어떤 스레드가 CPU를 쓰고 있는지 확인한다. 

-m 옵션으로 스레드 정보를 함께 출력한다. 그리고 -o 옵션으로 CPU 사용률(pcpu, %CPU)과 스레드 번호(lwp)를 함꼐 출력한다. 

 

ps -mo pcpu, lwp -p 1234

 

CPU가 8개라고 하면, 1개의  CPU를 100% 사용하고 있을 때 전체의 1/8 수준인 13%로 나온다.

 

여기서 나오는 값은 10진수 값이고, thread dump에 남는 스레드 번호는 16진수라 16진수로 변환하여 thread dump 파일에서 찾는다. 

 

참조 : https://blog.naver.com/hanajava/221720947348