標籤:
1、介紹
jstack用於列印出給定的java進程ID或core file或遠端偵錯服務的Java堆棧資訊,如果是在64位機器上,需要指定選項"-J-d64",Windows的jstack使用方式只支援以下的這種方式:
jstack [-l] pid
如果java程式崩潰產生core檔案,jstack工具可以用來獲得core檔案的java stack和native stack的資訊,從而可以輕鬆地知道java程式是如何崩潰和在程式何處發生問題。另外,jstack工具還可以附屬到正在啟動並執行java程式中,看到當時啟動並執行java程式的java stack和native stack的資訊, 如果現在啟動並執行java程式呈現hung的狀態,jstack是非常有用的。
2、命令格式
jstack [ option ] pid
jstack [ option ] executable core
jstack [ option ] [[email protected]]remote-hostname-or-IP
3、常用參數說明
1)、options:
executable Java executable from which the core dump was produced.
(可能是產生core dump的java可執行程式)
core 將被列印資訊的core dump檔案
remote-hostname-or-IP 遠程debug服務的主機名稱或ip
server-id 唯一id,假如一台主機上多個遠程debug服務
2)、基本參數:
-F當’jstack [-l] pid’沒有相應的時候強制列印棧資訊
-l長列表. 列印關於鎖的附加資訊,例如屬於java.util.concurrent的ownable synchronizers列表.
-m列印java和native c/c++架構的所有棧資訊.
-h | -help列印協助資訊
pid 需要被列印配置資訊的java進程id,可以用jps查詢.
4、使用樣本
jstack命令(Java Stack Trace)