内存问题:jmap
cpu问题:jstack
高手是怎么使用jstack精确找到异常代码的
1. 查看java中各个对象的内存使用
jmap 命令:JVM调优命令-jmap
简单一点:jmap -h 查看使用方法
2. 查看各个线程的情况
jstack -h 查看jstack的使用方法
3. 将top中信息与jstack对应
3.1 查看单个进程的top
top -p [pid]
3.2 查看单个进程中各个线程数据
top -H -p [pid]
子线程也有自己的pid
3.3 将子线程的pid 转成16进制
printf "%x" [子pid]
3.4 拉取jstack
jstack [pid] > t.txt
3.5 将16进制去jstack拉出来的文件中匹配
匹配的值为 nid 。这样就将top中的线程数据与jstack中的线程数据对应起来。