查看jvm和執行緒使用情況的方法:執行【jmap -heap PID】指令查看jvm使用情況;執行【jstack pid】指令查看執行緒使用情況。
查看jvm使用情況
(影片教學推薦:java課程)
jmap -heap PID
查看執行緒使用情況
jstack pid
jstack是java虛擬機器自帶的一種堆疊追蹤工具,用於產生java虛擬機器當前時刻的執行緒快照。
執行緒快照是目前java虛擬機器內每個執行緒正在執行的方法堆疊的集合,產生執行緒快照的主要目的是定位執行緒出現長時間停頓的原因,如執行緒間死鎖、死循環、請求外部資源導致的長時間等待等。
執行緒出現停頓的時候透過jstack來查看各個執行緒的呼叫堆疊,就可以知道沒有回應的執行緒到底在後台做什麼事情,或是等待什麼資源。如果java程式崩潰產生core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕鬆地知道java程式是如何崩潰和在程式何處發生問題。
另外,jstack工具還可以附屬到正在運行的java程式中,看到當時運行的java程式的java stack和native stack的資訊, 如果現在運行的java程式呈現hung的狀態,jstack是非常有用的。
相關推薦:java入門
以上是怎麼查看jvm和線程使用情況的詳細內容。更多資訊請關注PHP中文網其他相關文章!