[英]how to identify the thread which is causing JVM CPU utilization is reaching to 90 to 100% in Jboss java application?
我們的Java應用程序(耳朵)已部署在J Boss + Linux中,並且我們正在使用mod集群,並且總共有8個JV M或j Boss實例。
我們可以看到,合資公司每天的CPU利用率中的一兩個達到100%,並且應用程序非常緩慢。
我試圖通過使用j堆棧來獲取線程轉儲,並殺死Linux命令來確定引起線程。但是不幸的是,如果這些命令的CPU利用率達到60%以上,則JV M不會響應。
有沒有最簡單的方法來識別導致問題增加CPU使用率的線程/方法/類名稱?
誰能盡快提供解決方案?
要從掛起的進程獲取堆棧,請使用jstack -F <PID>
,請參見oracle docs
其他解決方案可以在這里找到
在您編寫JVM時,它沒有響應,因此無法獲取有關已執行的類/方法的詳細信息。 因此,“是否有最簡單的方法”的答案將是“否”。 ;-)
但這可能會幫助您或其他任何人(2.5年前被問到的問題)在這種情況下我會做什么:
這可能會提示您當前正在執行哪個類/方法。 如果您看到例如僅在一個類中使用的數百個SQL查詢,那么這可能對您有很大幫助。
可以從這里下載“ threadcpu”: tuxad.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.