ITPub博客

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

原创 作者:czxin788 时间:2018-07-12 15:13:44 0 删除 编辑

--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


请登录后发表评论 登录
全部评论

注册时间:2014-06-03

  • 博文量
    126
  • 访问量
    468708