jvm調優(五)cpu異常定位

1、使用命令查看

top命令

2、找到佔cpu高的pid

使用jstack pid >xxx.txt

3、然後shift+h找到進程號

找到進程號後查看他的pid是多少

4、jstack 輸出的日誌中nid(十六進制)=pid(十進制)

查看對應pid的代碼具體在哪一行

ps:將39(十進制)轉換爲十六進制

printf "%x \n" 39

定位pid找到報錯位置
在這裏插入圖片描述
分析:BLOCKED 因線程阻塞引起的 具體位置爲

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:171)
	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:131)
	at javax.xml.bind.ContextFinder.find(ContextFinder.java:335)
	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:390)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:235)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:228)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:183)

創建客戶端時候可能太慢阻塞了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章