日期:2014-05-16  浏览次数:20714 次

Linux下Java线程性能分析
1.top命令后,找到java进程对应的pid
  也可以:
          ps -ef | grep java  找到你的java程序的进程id, 定位 pid
          top -Hp $pid
2.shift+h查看单核线程列表,找到占用cpu最多的java线程对应的id
3.将该id用计算器转换成16进制
4.然后执行JDK的jstack得到堆栈信息 jstack -m <pid>
5.在堆栈中查找该16进制线程id对应的线程
6.然后过了一段时间再做一次, 如果发现同一个thread NID 还是停在同一个地方, 基本上可以怀疑是否挂住了(一般只需要查看你业务相关的stack信息就行了).


嗯嗯,发现一个帖子:
http://flysnowxf.iteye.com/blog/1162691