查看高消耗資源的線程
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