JAVA命令系列(四) : jstack


1、功能

jstack 是jvm自帶的java線程堆棧跟蹤工具,用於打印指定java進程的id、core file、遠程調試服務的java堆棧信息

  • jstack命令用於生成虛擬機當前時刻的線程快照。
  • 線程出現停頓的時候通過jstack來查看各個線程的調用堆棧,就可以知道沒有響應的線程到底在后台做什么事情,或者等待什么資源
  • 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題

2、位置

   jstack 命令位於$JAVA_HOME/bin目錄下

 3、使用方法

 option參數

  • -F 當正常輸出的請求不被響應時,強制輸出線程堆棧
  • -m mixed mode,不僅會輸出Java堆棧信息,還會輸出C/C++堆棧信息(比如Native方法)
  • -l long listings,會打印出額外的鎖信息,在發生死鎖時可以用jstack -l pid來觀察鎖持有情況

      使用jstack 導出java線程堆棧信息並輸出到指定文件中

      jstack -l pid > /opt/111.dump

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM