欢迎光临
我们一直在努力

通过jstack查看java线程在忙什么

–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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。