jstack命令(Java Stack Trace)
1、介紹
jstack用于打印出給定的java進(jìn)程ID或core file或遠(yuǎn)程調(diào)試服務(wù)的Java堆棧信息,如果是在64位機(jī)器上,需要指定選項(xiàng)"-J-d64",Windows的jstack使用方式只支持以下的這種方式:
jstack [-l] pid
如果java程序崩潰生成core文件,jstack工具可以用來(lái)獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問(wèn)題。另外,jstack工具還可以附屬到正在運(yùn)行的java程序中,看到當(dāng)時(shí)運(yùn)行的java程序的java stack和native stack的信息, 如果現(xiàn)在運(yùn)行的java程序呈現(xiàn)hung的狀態(tài),jstack是非常有用的。
2、命令格式
jstack [ option ] pid
jstack [ option ] executable core
jstack [ option ] [server-id@]remote-hostname-or-IP
3、常用參數(shù)說(shuō)明
1)options:
executable Java executable from which the core dump was produced.
(可能是產(chǎn)生core dump的java可執(zhí)行程序)
core 將被打印信息的core dump文件
remote-hostname-or-IP 遠(yuǎn)程debug服務(wù)的主機(jī)名或ip
server-id ***id,假如一臺(tái)主機(jī)上多個(gè)遠(yuǎn)程debug服務(wù)
2)基本參數(shù):
-F當(dāng)’jstack [-l] pid’沒(méi)有相應(yīng)的時(shí)候強(qiáng)制打印棧信息
-l長(zhǎng)列表. 打印關(guān)于鎖的附加信息,例如屬于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有棧信息.
-h | -help打印幫助信息
pid 需要被打印配置信息的java進(jìn)程id,可以用jps查詢(xún).
4、使用示例
原文鏈接:http://blog.csdn.net/fenglibing/article/details/6411940
【編輯推薦】
- jmap命令(Java Memory Map)
- Java中使用JDBC連接數(shù)據(jù)庫(kù)例程與注意事項(xiàng)
- 同一段程序在Java和C中的不同結(jié)果
- Java中Runnable和Thread的區(qū)別
- Java對(duì)存儲(chǔ)過(guò)程的調(diào)用方法