JDK內建工具使用
一、javah命令(C Header and Stub File Generator)
二、jps命令(Java Virtual Machine Process Status Tool)
三、jstack命令(Java Stack Trace)
四、jstat命令(Java Virtual Machine Statistics Monitoring Tool)
五、jmap命令(Java Memory Map)
六、jinfo命令(Java Configuration Info)
七、jconsole命令(Java Monitoring and Management Console)
八、jvisualvm命令(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)
九、jhat命令(Java Heap Analyse Tool)
十、Jdb命令(The Java Debugger)
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 ] [server-id@]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、使用樣本
本文出自:馮立彬的部落格