在實(shí)際開發(fā)中,有時候會收到一些服務(wù)的監(jiān)控報警,比如CPU飆高,內(nèi)存飆高等,這個時候,我們會登錄到服務(wù)器上進(jìn)行排查。本篇博客將涵蓋這方面的知識:Linux性能工具。
創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、雙塔網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為雙塔等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。背景:服務(wù)在平穩(wěn)運(yùn)行一段時間后,CPU突然飆高。
通過top命令,可以確認(rèn)下,到底是哪個進(jìn)程導(dǎo)致CPU飆高了(也許是誤報呢?)。
可以看到圖中PID是2816的進(jìn)程,CPU使用率非常高。
使用top -Hp 2816來對進(jìn)程下的線程進(jìn)行觀察。圖中可以發(fā)現(xiàn),2825這個線程CPU非常高。
這里利用Python非常方便的把十進(jìn)制的線程ID轉(zhuǎn)化成了16進(jìn)制,為什么要這么做呢?
因?yàn)樵诮酉聛淼木€程DUMP文件中使用的就是16進(jìn)制的NID。
在實(shí)際中,我們應(yīng)該利用jstack pid多DUMP幾次,因?yàn)榫€程存在狀態(tài)轉(zhuǎn)換,因此多次DUMP有利于抓取到線程更多的信息。
圖中,你可以觀察到,一個線程得到了鎖,在運(yùn)行,遲遲沒有釋放,而另一個線程一直在等待這個鎖。至此,就可以到去查看代碼去分析為什么鎖遲遲不釋放的原因了。
上文的案例中,就使用到了top,而在實(shí)際中,top的信息量是很大的,這里詳細(xì)分析下。
第一行:
涉及到2個時間,一個是系統(tǒng)時間,一個是機(jī)器運(yùn)行的時間?!疚覀儜?yīng)該重點(diǎn)關(guān)注的是機(jī)器運(yùn)行的時間,Why? 有時候,重啟機(jī)器能帶來很多問題,你懂的!】
多少用戶登錄了系統(tǒng)?【通過who/w/history可以查到更多信息】
3個load值是什么含義?
分別代表的是1MIN,5MIN,15MIN機(jī)器的負(fù)載情況,如何確定負(fù)載的大小呢?需要和CPU的核數(shù)相結(jié)合來看,比如該機(jī)器是4核CPU,那么如果load值超過了4,就意味著負(fù)載很大了!【在top下按下1可以觀察出CPU的個數(shù)】
上述信息,其實(shí)也可以通過uptime命令來獲取。
第二行:
主要是總共有多少個任務(wù),重點(diǎn)應(yīng)該關(guān)注的是僵尸狀態(tài)的任務(wù)數(shù)。
第三行:
主要是CPU的一些信息。
US/SY,說的就是用戶進(jìn)程和系統(tǒng)進(jìn)程使用CPU的占比。
NI,即NICE,表示被調(diào)整過線程優(yōu)先級的進(jìn)程占比,這個比例正常不應(yīng)該很大。
ID,表示空閑;WA表示資源等待的時間,比如在瞬時大流量下,服務(wù)打了很多日志的話,那么這個值就會飆高,因?yàn)檫@會很消耗資源的。
HI,硬中斷,一般就是外設(shè)引起的,如果HI飆高的話,那么意味著外設(shè)在硬件層面出現(xiàn)了問題。SI表示軟中斷。
ST,即steel,如果該主機(jī)是虛擬的話會有這個ST信息,也即是該虛擬機(jī)從宿主機(jī)獲取CPU的時間片的百分占比。
第四和第五行:
這里主要說2個概念性的東西:buffer 和 cache。
buffer主要是什么呢?應(yīng)該是待處理的數(shù)據(jù),主要是處理2個系統(tǒng)之間速度不匹配的問題。而cache,一般應(yīng)該是結(jié)果數(shù)據(jù)的緩存,比如從DB加載一些信息供查詢用。
SWAP分區(qū),就是想利用硬盤的做一部分緩存,如果SWAP交換非常頻繁的話,就是說內(nèi)存不夠用!
列表說明:
PID 進(jìn)程ID、USER 用戶、PR 優(yōu)先級、VIRT 虛擬內(nèi)存、RES 駐留內(nèi)存、SHR 共享內(nèi)存
這里需要指出的是,RES表示的是該進(jìn)程實(shí)際占用的內(nèi)存,而并不是申請的內(nèi)存大小。也就是說當(dāng)前進(jìn)程所占用的內(nèi)存物理大小是 RES-SHR。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:程序員不可不知的Linux性能工具-創(chuàng)新互聯(lián)
路徑分享:http://www.rwnh.cn/article46/doschg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站排名、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、虛擬主機(jī)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容