我之前遇到過好幾次程式打不開,程序存在;後來多次排查是因為**的原因造成的;查詢資料太多造成了堵塞等;
我們可以從以下幾個方面去查:
1.程序是否存在:jps
2.匯出堆疊資訊:jmap jhat
3.定位執行緒堆疊,根據堆疊資訊我們可以定位到具體**,在jvm調優中使用的比較多;
記下來我們詳細操作一下;
1),查詢對應程式的程序號pid
2)生成乙個堆疊資訊:jmap -dump:format=b,file=heapdump.hprof pid
生成檔案heapdump.hprof;
deadlock:死鎖;
runnable:執行中;
waiting on condition:等待資源
waiting on monitor entry :等待獲取監視器;
suspended:暫停
object.wait()/timed_waiting:物件等待中
blocked:阻塞
parked:停止
3)jstack -l pid >> jstack.txt 對jvm使用情況實時監控;
綜合兩個檔案我們可以找道到底是哪個檔案在我們專案中作怪;
專案full gc 排查
物件直接放入老年代條件 一般情況是四種,但是尤其以第一種 最多 1.新生代物件每經歷依次minor gc,年齡會加一,當達到年齡閥值會直接進入老年代。閥值大小一般為15 2.survivor空間中年齡所有物件大小的總和大於survivor空間的一半,年齡大於或等於該年齡的物件就可以直接進入老年代,而...
flip close Oops問題排查
1 問題描述 oops 1 cpu 0 0 00000000 00000001 64206e6f 838ceae0 4 838ceae0 83816140 00000001 00000007 8 0000080f 00000004 00000020 83934668 12 82fdb128 ffff...
404問題排查
當tomcat沒有日誌的時候,不一定訪問沒有到達tomcat 我們可以通過web.xml中的filter來攔截請求,把斷點打到第乙個filter smartfilterdispatcher 上,確定請求,然後檢視問題在 resource name add cust topic destination...