Thread Dump用來診斷Java應用的問題,能夠用來查找內存泄露,發現死鎖線程等等。經過它能夠獲得線程,線程運行狀態、標識、調用的堆棧,堆棧包含完整的類名,所執行的方法,以及源代碼所在的行數等等信息 java
使用方法: tomcat
Windows平臺:
使用組合鍵 Ctrl + Break。 spa
例如,控制檯運行 tomcat, 即在cmd 命令行下面運行tomcat的 bin 目錄下面的 startup.bat 批處理文件啓動tomcat。
而後,在該控制檯窗口按組合鍵 Ctrl + Break,便可打印出當前的Thread Dump 命令行
Linux、Unix平臺:
使用命令 kill –3 pid 線程
例如,控制檯運行了 tomcat, 使用 ps -aux |grep tomcat 獲得 tomcat 程序運行的pid,例如獲得是 1677, 則在控制檯運行 kill –3 1677,便可打印出當前的Thread Dump 內存
tomcat 輸出在/logs/catalina.out文件中 cmd
使用java自帶命令jstack: grep
jstack pid > pid_stack.log 程序