jstack(Java Virtual Machine Stack Trace)是JDK提供的一個可以生成Java虛擬機當前時刻的線程快照信息的命令行工具。
pid指的是我們要查看的程序的進程id。
3、若何查看進程id(pid) ? ? ?3.1 windows系統(tǒng)? 1)打開任務管理器,找到要查看的進程
?2)在要查看的進程上右鍵 選擇轉(zhuǎn)到詳細信息
?3)在詳細信息中查看pid 就是我們要的進程號。
可以 使用ps -ef | grep? 等明亮進行查看,如下圖:
我是在k8s的pod中執(zhí)行的 ps -ef|grep java ,進程id 為? 1
4、查看進程運行信息(堆棧信息)使用 命令 jstack -l
如下圖:
上圖 我是在Windows上輸出的信息,如果不方便看 可以將信息輸出到文件中,就方便看了,如下命令:jstack -l 31636 >>5.txt,linux 服務器可以使用??jstack -l 31636?>5.txt
5、排查問題(查看程序運行到哪里了)我特意寫了一個sleep程序,如下圖:
上圖中的#370 代表是線程號,如果知道線程號可以直接通過線程號在輸出的文件中搜索
TIMED_WAITING代表的是當前線程的狀態(tài)(限時等待),因為我用的是sleep,所以會是這個狀態(tài)。線程供有以下集中狀態(tài),供參考:
1. New 新建狀態(tài)
2. Runnable 運行狀態(tài)
3. Blocked 阻塞狀態(tài)
4. Waiting 等待狀態(tài)(無限期等待)
5. Time_Waiting 限時等待狀態(tài)(有明確結(jié)束時間的等待狀態(tài))
6. Terminated 終止狀態(tài)
.java 41 代表那個程序的第41行代碼 正在運行。
6、總結(jié):以上是我自學整理的內(nèi)容,希望可以幫助大家,有描述不對的地方大家可以留言
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享標題:使用java的jstack排查程序運行情況-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://aaarwkj.com/article4/jdcoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、品牌網(wǎng)站制作、品牌網(wǎng)站設計、外貿(mào)網(wǎng)站建設、自適應網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容