自适应网站有哪些,四川旅游网站设计论文,推广竞价账户托管,南京的网站建设公司转载自 jstack命令#xff1a;教你如何排查多线程问题这是之前的一个死锁案例#xff1a;一个多线程死锁案例#xff0c;如何避免及解决死锁问题#xff1f;如程序中发生这样的死锁问题该如何排查呢#xff1f;我们可以使用java自带的jstack命令进行排查。1、先在服务器运…转载自 jstack命令教你如何排查多线程问题这是之前的一个死锁案例一个多线程死锁案例如何避免及解决死锁问题如程序中发生这样的死锁问题该如何排查呢我们可以使用java自带的jstack命令进行排查。1、先在服务器运行上面的死锁的例子让程序陷入死锁。2、使用jps、ps -ef | grep java查看当前java进程的pid严重情况下可以使用top命令查看当前系统cpu/内存使用率最高的进程pid。这里我们的死锁的pid是3429这里程序很简单虽然程序死锁没有占用很多资源。3、使用top -Hp 3429命令查看进程里面占用最多的资源的线程。这里我们看到的占用最多资源的线程是3440。4、使用命令printf %x\n 3440 把线程pid转换成16进制数得到d70。5、使用jstack 3429 | grep -20 d70命令查询该线程阻塞的地方。到这里就基本跟踪完毕去代码所在行看看为什么死锁吧。jstack更多详细用法可以查看官方说明http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html