我們已經漏出一點的內存的應用程序,一個比特被輕描淡寫。有什麼辦法殺死運行的線程死鎖的「http:8080-42」,它封鎖了所有其他線程
我使用jstack,試圖找到是什麼原因造成的問題。
我看到的線程數成長了不少上啓動名爲線程:HTTP-8080- 42
例如:
「HTTP-8080-13」 守護PRIO = 10 TID = 0x00002aacb4ae6000 NID = 0x5ddf等待監視器條目[0x0000000043e65000] java.lang.Thread.State中:BLOCKED(對象監視器上) 在com.reg_dashboard.DataModel.findRegsRow(DataModel.java:280) - 等待鎖定< 0x00002aaab0c996b0> (一個用於com.reg_dashboard.DataModel的java.lang.Class)
我的第一個猜測是,每一個這些線程的是從客戶端及其對某種同步塊的等待打了一個請求。 我的問題是,這些線程已經運行很長一段時間(到目前爲止10分鐘)。
我的問題是這樣的:
有什麼辦法,來殺死這個線程,這是造成我的應用程序掛起???有一些請求正在加載catche並卡住,其他進程正在等待對象被解鎖!