摘要:是代表的主機第一個請求服務,使用線程池,生成一個多帶帶的線程來處理請請求。單個線程詳細的數據查看線程的堆棧生成某個時刻的線程這些線程的來由一清二楚,很快就能定位問題所在。
VisualVM提供分析圖形化監控線程的運行狀態,有時候可能不是我們自己代碼沒寫好造成資源的浪費,而是系統引入了很多第三方包(也包括容器)的時候,他們可能私自建立線程,如果邏輯處理不當,可能會造成資源的浪費。
以下均用Tomcat作為例子
實時顯示線程的運行狀態大概介紹下常用線程
其中運行的線程有Keep-Alive-Timer(Tomcat對Keep Alive的實現,用來保持長連接),該線程目前處于休眠狀態。
RMI TCP Connection(36)-183.16.0.100 是代表183.16.0.100的主機第一個請求服務,RMI使用線程池,生成一個多帶帶的線程來處理請請求。目前是處于運行狀態,因為我剛剛有請求服務器。
http-bio-80-exec-xx 代表Tomcat用的默認的bio來處理http請求, 當有請求來,這個線程就會從等待變成運行,這個可以考慮用性能更高的異步IO技術 server.xml
`
scheduler 這些是任務線程
統計各個線程運行歷史數據可以查看線程工作的飽和度,感覺像是老板在看員工的工時一樣的爽。
單個線程詳細的數據 查看線程的堆棧生成某個時刻的線程Dump
這些線程的來由一清二楚,很快就能定位問題所在。
感謝您的耐心閱讀,如果您發現文章中有一些沒表述清楚的,或者是不對的地方,請給我留言,你的鼓勵是作者寫作最大的動力,
如果您認為本文質量不錯,讀后覺得收獲很大,不妨小額贊助我一下,讓我更有動力繼續寫出高質量的文章。
支付寶
微信
作 者 : @mousycoder
原文出處 : http://mousycoder.com/2016/02...
創作時間:2016-2-15
更新時間:2016-2-15
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65475.html
摘要:快照,帶線程命令,是顯示全部進程,是顯示線程,全格式輸出顯示進程樹,不加顯示所有實時快照推薦程度按數字從小到大。 有時候好好的程序放到生產服務器上一段時間后,就會發現服務器響應緩慢,進而進一步發現是cpu過高,于是就慌了,造成cpu過高的原因很多,不過大多是由于資源吃緊造成,例如:sql執行過慢,程序里存在死循環,數據庫連接未釋放,網絡阻塞導致的第三方框架代碼出現死循環,大量的操作導致...
摘要:并且分別給出了,線程的堆棧,就可以很快定位代碼。避免無限期等待當一個線程必須等待另外一個線程的時候,最好加上一個等待時間。 運行了一段時間的程序,可能因為不小心的一些修改,造成死鎖,本人就VisualVM簡單的介紹下死鎖的檢測。 死鎖程序 package jvisualVM; public class DeadLock { public static void main(S...
摘要:點擊進入我的博客命令行工具這些工具大多數是類庫的一層薄的包裝,它們的主要功能代碼是在類庫中實現的。可視化工具是到目前為止隨發布的功能最強大的運行監視和故障處理程序,并且可以預見在未來一段時間內都是官方主力發展的虛擬機故障處理工具。 點擊進入我的博客 3.1 JDK命令行工具 showImg(https://segmentfault.com/img/remote/14600000174...
摘要:垃圾回收監控和分析工具是在安裝時免費提供的。監控現在可以監控垃圾回收過程了。至少我們可以知道程序中存在和對象內存分配和垃圾回收相關的問題。到此為止,關于垃圾回收的系列文章已經完結了。 本文非原創,翻譯自Java Garbage Collection Monitoring and Analysis在Java中為對象分配和釋放內存空間都是由垃圾回收線程自動執行完成的。和C語言不一樣的是Ja...
閱讀 3256·2021-09-22 15:58
閱讀 1720·2019-08-30 14:17
閱讀 1722·2019-08-28 18:05
閱讀 1508·2019-08-26 13:33
閱讀 688·2019-08-26 12:20
閱讀 611·2019-08-26 12:18
閱讀 3195·2019-08-26 11:59
閱讀 1408·2019-08-26 10:36