天天看點

java jstack使用_java jstack指令

jstack 應用

首先通過:ps -ef|grep java

得到java pid

檢視哪個線程占用最多資源:

找出該程序内最耗費CPU的線程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid  指令檢視這個程序下面的所有線程占用情況。

java jstack使用_java jstack指令

發現線程21742占用最多。

将剛剛發現占用cpu最多的線程id(21742)換算成16進制

指令:printf "%x\n" 21742 的到 線程值 :54ee

檢視jstack 生成的檔案:

jstack pid | grep tid

如:jstack 21711 | grep 54ee

下面可以看出是哪行代碼導緻,檢視那行代碼發現有死循環。跟蹤解決完畢。

---------------------------------------------------------------

jps主要用來輸出JVM中運作的程序狀态資訊。文法格式如下:

jps [options] [hostid]

參見:http://my.oschina.net/feichexia/blog/196575