java应用线上问题排查常规操作

1 找出应用线程pid (jps or  ps -ef|grep java)

2 查看该pid下线程对应的系统占用情况。top -Hp pid

3 找出cpu占用比较高的线程 id 并转换为16进制

4 保存当前的java线程栈   jstack -l pid>/1.txt

5 通过16进制线程id搜索对应的线程情况,定位到相应代码

6 如若需要分析dump文件信息可导出dump文件 jmap -dump:live,format=b,file=/dump201612271310.dat pid
排查问题的套路,大同小异。有篇文章,写的不错。
遇到线上问题不要慌,首先确认排查问题的思路:
查看日志
查看CPU情况
查看TCP情况
查看java线程,jstack
查看java堆,jmap
通过MAT分析堆文件,寻找无法被回收的对象
链接如下
[https://blog.csdn.net/lengyue309/article/details/80590119](https://blog.csdn.net/lengyue309/article/details/80590119)

你可能感兴趣的:(JAVA)