查看高消耗资源的线程
1、输入top命令 查看是java进程占的资源最高
top
查看到PID 21306进程的CPU占用最高
2、可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid,我这里用第三个
top -Hp 21306
TIME列就是各个Java线程耗费的CPU时间,CPU时间最长的是线程ID为21553的线程,用
3、printf "%x\n" 21412 转16进制
53a4
4、下一步终于轮到jstack上场了,它用来输出进程21251的堆栈信息,然后根据线程ID的十六进制值grep,如下:
5、 jstack 21306 | grep 53a4
查看java进程里面的线程数
jstack 4931 |grep tid |wc -l 其中4931是进程ID