定位线上问题
方法一:jmap 查看堆内存
1. top出占用资源最高的pid
2. jmap -histo:live pid | more 查看堆内存使用情况
3 .jmap -dump:format=b,file=outfile 3024可以 将3024进程的内存heap输出出来到outfile文件里,再配合MAT(内存分析工具)
方法二:jstack 定位到线程
1.ps -ef | grep java 找出相关程序
2.top -Hp pid 找出具体线程的pid
3. printf "%x\n" pid 转换成16进制
4. jstack pid | grep 16进制线程pid