摘要:是代表的主機(jī)第一個(gè)請(qǐng)求服務(wù),使用線程池,生成一個(gè)多帶帶的線程來(lái)處理請(qǐng)請(qǐng)求。單個(gè)線程詳細(xì)的數(shù)據(jù)查看線程的堆棧生成某個(gè)時(shí)刻的線程這些線程的來(lái)由一清二楚,很快就能定位問(wèn)題所在。
VisualVM提供分析圖形化監(jiān)控線程的運(yùn)行狀態(tài),有時(shí)候可能不是我們自己代碼沒(méi)寫(xiě)好造成資源的浪費(fèi),而是系統(tǒng)引入了很多第三方包(也包括容器)的時(shí)候,他們可能私自建立線程,如果邏輯處理不當(dāng),可能會(huì)造成資源的浪費(fèi)。
以下均用Tomcat作為例子
實(shí)時(shí)顯示線程的運(yùn)行狀態(tài)大概介紹下常用線程
其中運(yùn)行的線程有Keep-Alive-Timer(Tomcat對(duì)Keep Alive的實(shí)現(xiàn),用來(lái)保持長(zhǎng)連接),該線程目前處于休眠狀態(tài)。
RMI TCP Connection(36)-183.16.0.100 是代表183.16.0.100的主機(jī)第一個(gè)請(qǐng)求服務(wù),RMI使用線程池,生成一個(gè)多帶帶的線程來(lái)處理請(qǐng)請(qǐng)求。目前是處于運(yùn)行狀態(tài),因?yàn)槲覄倓傆姓?qǐng)求服務(wù)器。
http-bio-80-exec-xx 代表Tomcat用的默認(rèn)的bio來(lái)處理http請(qǐng)求, 當(dāng)有請(qǐng)求來(lái),這個(gè)線程就會(huì)從等待變成運(yùn)行,這個(gè)可以考慮用性能更高的異步IO技術(shù) server.xml
`
scheduler 這些是任務(wù)線程
統(tǒng)計(jì)各個(gè)線程運(yùn)行歷史數(shù)據(jù)可以查看線程工作的飽和度,感覺(jué)像是老板在看員工的工時(shí)一樣的爽。
單個(gè)線程詳細(xì)的數(shù)據(jù) 查看線程的堆棧生成某個(gè)時(shí)刻的線程Dump
這些線程的來(lái)由一清二楚,很快就能定位問(wèn)題所在。
感謝您的耐心閱讀,如果您發(fā)現(xiàn)文章中有一些沒(méi)表述清楚的,或者是不對(duì)的地方,請(qǐng)給我留言,你的鼓勵(lì)是作者寫(xiě)作最大的動(dòng)力,
如果您認(rèn)為本文質(zhì)量不錯(cuò),讀后覺(jué)得收獲很大,不妨小額贊助我一下,讓我更有動(dòng)力繼續(xù)寫(xiě)出高質(zhì)量的文章。
支付寶
微信
作 者 : @mousycoder
原文出處 : http://mousycoder.com/2016/02...
創(chuàng)作時(shí)間:2016-2-15
更新時(shí)間:2016-2-15
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65475.html
摘要:快照,帶線程命令,是顯示全部進(jìn)程,是顯示線程,全格式輸出顯示進(jìn)程樹(shù),不加顯示所有實(shí)時(shí)快照推薦程度按數(shù)字從小到大。 有時(shí)候好好的程序放到生產(chǎn)服務(wù)器上一段時(shí)間后,就會(huì)發(fā)現(xiàn)服務(wù)器響應(yīng)緩慢,進(jìn)而進(jìn)一步發(fā)現(xiàn)是cpu過(guò)高,于是就慌了,造成cpu過(guò)高的原因很多,不過(guò)大多是由于資源吃緊造成,例如:sql執(zhí)行過(guò)慢,程序里存在死循環(huán),數(shù)據(jù)庫(kù)連接未釋放,網(wǎng)絡(luò)阻塞導(dǎo)致的第三方框架代碼出現(xiàn)死循環(huán),大量的操作導(dǎo)致...
摘要:并且分別給出了,線程的堆棧,就可以很快定位代碼。避免無(wú)限期等待當(dāng)一個(gè)線程必須等待另外一個(gè)線程的時(shí)候,最好加上一個(gè)等待時(shí)間。 運(yùn)行了一段時(shí)間的程序,可能因?yàn)椴恍⌒牡囊恍┬薷模斐伤梨i,本人就VisualVM簡(jiǎn)單的介紹下死鎖的檢測(cè)。 死鎖程序 package jvisualVM; public class DeadLock { public static void main(S...
摘要:點(diǎn)擊進(jìn)入我的博客命令行工具這些工具大多數(shù)是類(lèi)庫(kù)的一層薄的包裝,它們的主要功能代碼是在類(lèi)庫(kù)中實(shí)現(xiàn)的。可視化工具是到目前為止隨發(fā)布的功能最強(qiáng)大的運(yùn)行監(jiān)視和故障處理程序,并且可以預(yù)見(jiàn)在未來(lái)一段時(shí)間內(nèi)都是官方主力發(fā)展的虛擬機(jī)故障處理工具。 點(diǎn)擊進(jìn)入我的博客 3.1 JDK命令行工具 showImg(https://segmentfault.com/img/remote/14600000174...
摘要:垃圾回收監(jiān)控和分析工具是在安裝時(shí)免費(fèi)提供的。監(jiān)控現(xiàn)在可以監(jiān)控垃圾回收過(guò)程了。至少我們可以知道程序中存在和對(duì)象內(nèi)存分配和垃圾回收相關(guān)的問(wèn)題。到此為止,關(guān)于垃圾回收的系列文章已經(jīng)完結(jié)了。 本文非原創(chuàng),翻譯自Java Garbage Collection Monitoring and Analysis在Java中為對(duì)象分配和釋放內(nèi)存空間都是由垃圾回收線程自動(dòng)執(zhí)行完成的。和C語(yǔ)言不一樣的是Ja...
摘要:在之前,它是一個(gè)備受爭(zhēng)議的關(guān)鍵字,因?yàn)樵诔绦蛑惺褂盟占骼斫夂驮矸治龊?jiǎn)稱(chēng),是后提供的面向大內(nèi)存區(qū)數(shù)到數(shù)多核系統(tǒng)的收集器,能夠?qū)崿F(xiàn)軟停頓目標(biāo)收集并且具有高吞吐量具有更可預(yù)測(cè)的停頓時(shí)間。 35 個(gè) Java 代碼性能優(yōu)化總結(jié) 優(yōu)化代碼可以減小代碼的體積,提高代碼運(yùn)行的效率。 從 JVM 內(nèi)存模型談線程安全 小白哥帶你打通任督二脈 Java使用讀寫(xiě)鎖替代同步鎖 應(yīng)用情景 前一陣有個(gè)做...
閱讀 3259·2021-09-22 15:58
閱讀 1724·2019-08-30 14:17
閱讀 1729·2019-08-28 18:05
閱讀 1514·2019-08-26 13:33
閱讀 692·2019-08-26 12:20
閱讀 616·2019-08-26 12:18
閱讀 3198·2019-08-26 11:59
閱讀 1412·2019-08-26 10:36