透過jstack檢視java執行緒在忙什麼

czxin788發表於2018-07-12

--1、透過top命令看到java程式pid

 [root@m-tms-web1 logs]# top

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                                    

 4431 tms 15 0 10.5g 7.2g 15m S 6.0 61.5 756:15.88 java 

--2、把程式pid拆成執行緒pid

[root@m-tms-web1 logs]# top -Hp 4431

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                                    

 4460 tms 15 0 10.5g 7.2g 15m S 2.0 61.5 8:39.19 java                                                        

 4467 tms 16 0 10.5g 7.2g 15m S 2.0 61.5 7:05.12 java                                                        

 4431 tms 15 0 10.5g 7.2g 15m S 0.0 61.5 0:00.00 java                                                        

 4432 tms 15 0 10.5g 7.2g 15m S 0.0 61.5 0:00.78 java                                                        

 4433 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:43.21 java                                                        

 4434 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:48.72 java                                                        

 4435 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:48.70 java                                                        

 4436 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:40.70 java                                                        

 4437 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:43.91 java                                                        

 4438 tms 16 0 10.5g 7.2g 15m S 0.0 61.5 82:40.35 java      

 

--3、透過jstack命令看每個執行緒id的堆疊資訊

[root@m-tms-web1 logs]#jstack -l 4460 > out.txt

[root@m-tms-web1 logs]#jstack -F 4460 > out.txt

-l:看執行緒的額外資訊,包括locked

-F:當程式無返回掛起時,用-F強制返回執行緒資訊

--4、看top查到的4431程式執行了多少時間

[root@m-tms-web1 logs]# ps -p 4431 -o etime

    ELAPSED

 1-00:36:46


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2157755/,如需轉載,請註明出處,否則將追究法律責任。

相關文章