程序員不可不知的Linux性能工具

前言

在實際開發(fā)中,有時候會收到一些服務(wù)的監(jiān)控報警苛白,比如CPU飆高,內(nèi)存飆高等焚虱,這個時候购裙,我們會登錄到服務(wù)器上進行排查。本篇博客將涵蓋這方面的知識:Linux性能工具鹃栽。


一次線上問題排查模擬

背景:服務(wù)在平穩(wěn)運行一段時間后躏率,CPU突然飆高。

top

通過top命令民鼓,可以確認下薇芝,到底是哪個進程導(dǎo)致CPU飆高了(也許是誤報呢?)丰嘉。

可以看到圖中PID是2816的進程夯到,CPU使用率非常高。

查看進程下的線程信息

使用top -Hp 2816來對進程下的線程進行觀察供嚎。圖中可以發(fā)現(xiàn)黄娘,2825這個線程CPU非常高峭状。

進制轉(zhuǎn)換

這里利用Python非常方便的把十進制的線程ID轉(zhuǎn)化成了16進制,為什么要這么做呢逼争?

因為在接下來的線程DUMP文件中使用的就是16進制的NID优床。

線程DUMP文件


線程狀態(tài)轉(zhuǎn)換

在實際中,我們應(yīng)該利用jstack pid多DUMP幾次誓焦,因為線程存在狀態(tài)轉(zhuǎn)換胆敞,因此多次DUMP有利于抓取到線程更多的信息。

圖中杂伟,你可以觀察到移层,一個線程得到了鎖,在運行赫粥,遲遲沒有釋放观话,而另一個線程一直在等待這個鎖。至此越平,就可以到去查看代碼去分析為什么鎖遲遲不釋放的原因了频蛔。


性能監(jiān)測工具top詳解

上文的案例中,就使用到了top秦叛,而在實際中晦溪,top的信息量是很大的,這里詳細分析下挣跋。


top

第一行:

涉及到2個時間三圆,一個是系統(tǒng)時間,一個是機器運行的時間避咆。【我們應(yīng)該重點關(guān)注的是機器運行的時間舟肉,Why? 有時候,重啟機器能帶來很多問題牌借,你懂的度气!】

多少用戶登錄了系統(tǒng)?【通過who/w/history可以查到更多信息】

3個load值是什么含義膨报?

分別代表的是1MIN,5MIN,15MIN機器的負載情況磷籍,如何確定負載的大小呢?需要和CPU的核數(shù)相結(jié)合來看现柠,比如該機器是4核CPU院领,那么如果load值超過了4,就意味著負載很大了够吩!【在top下按下1可以觀察出CPU的個數(shù)】

上述信息比然,其實也可以通過uptime命令來獲取。

第二行:

主要是總共有多少個任務(wù)周循,重點應(yīng)該關(guān)注的是僵尸狀態(tài)的任務(wù)數(shù)强法。

第三行:

主要是CPU的一些信息万俗。

US/SY,說的就是用戶進程系統(tǒng)進程使用CPU的占比。

NI,即NICE贰盗,表示被調(diào)整過線程優(yōu)先級的進程占比,這個比例正常不應(yīng)該很大库倘。

ID,表示空閑论矾;WA表示資源等待的時間教翩,比如在瞬時大流量下,服務(wù)打了很多日志的話贪壳,那么這個值就會飆高饱亿,因為這會很消耗資源的。

HI寥袭,硬中斷路捧,一般就是外設(shè)引起的,如果HI飆高的話传黄,那么意味著外設(shè)在硬件層面出現(xiàn)了問題。SI表示軟中斷队寇。

ST膘掰,即steel,如果該主機是虛擬的話會有這個ST信息佳遣,也即是該虛擬機從宿主機獲取CPU的時間片的百分占比识埋。

用戶空間和系統(tǒng)空間

第四和第五行:

這里主要說2個概念性的東西:buffer cache

buffer主要是什么呢零渐?應(yīng)該是待處理的數(shù)據(jù)窒舟,主要是處理2個系統(tǒng)之間速度不匹配的問題。而cache诵盼,一般應(yīng)該是結(jié)果數(shù)據(jù)的緩存惠豺,比如從DB加載一些信息供查詢用。

SWAP分區(qū)风宁,就是想利用硬盤的做一部分緩存洁墙,如果SWAP交換非常頻繁的話,就是說內(nèi)存不夠用戒财!

列表說明:

PID ?進程ID热监、USER 用戶、PR 優(yōu)先級饮寞、VIRT 虛擬內(nèi)存孝扛、RES 駐留內(nèi)存列吼、SHR 共享內(nèi)存

這里需要指出的是,RES表示的是該進程實際占用的內(nèi)存苦始,而并不是申請的內(nèi)存大小冈欢。也就是說當(dāng)前進程所占用的內(nèi)存物理大小是 ? RES-SHR。


好了盈简,到這里凑耻,本篇博客就結(jié)束了~

have a nice day!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市柠贤,隨后出現(xiàn)的幾起案子香浩,更是在濱河造成了極大的恐慌,老刑警劉巖臼勉,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邻吭,死亡現(xiàn)場離奇詭異,居然都是意外死亡宴霸,警方通過查閱死者的電腦和手機囱晴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓢谢,“玉大人畸写,你說我怎么就攤上這事∶タ福” “怎么了枯芬?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長采郎。 經(jīng)常有香客問我千所,道長,這世上最難降的妖魔是什么蒜埋? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任淫痰,我火速辦了婚禮,結(jié)果婚禮上整份,老公的妹妹穿的比我還像新娘待错。我一直安慰自己,他們只是感情好皂林,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布朗鸠。 她就那樣靜靜地躺著,像睡著了一般础倍。 火紅的嫁衣襯著肌膚如雪烛占。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音忆家,去河邊找鬼犹菇。 笑死,一個胖子當(dāng)著我的面吹牛芽卿,可吹牛的內(nèi)容都是我干的揭芍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼卸例,長吁一口氣:“原來是場噩夢啊……” “哼称杨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筷转,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姑原,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后呜舒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锭汛,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年袭蝗,在試婚紗的時候發(fā)現(xiàn)自己被綠了唤殴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡到腥,死狀恐怖朵逝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情左电,我是刑警寧澤廉侧,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站篓足,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏闰蚕。R本人自食惡果不足惜栈拖,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望没陡。 院中可真熱鬧涩哟,春花似錦、人聲如沸盼玄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽埃儿。三九已至器仗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背精钮。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工威鹿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轨香。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓忽你,卻偏偏與公主長得像,于是被迫代替她去往敵國和親臂容。 傳聞我的和親對象是個殘疾皇子科雳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Java 應(yīng)用性能優(yōu)化是一個老生常談的話題,典型的性能問題如頁面響應(yīng)慢脓杉、接口超時糟秘,服務(wù)器負載高、并發(fā)數(shù)低丽已,數(shù)據(jù)庫頻...
    Rick617閱讀 7,335評論 1 9
  • 大家都知道蚌堵,Linux系統(tǒng)提供了非常多非常多的命令或工具,這些命令都各有所長沛婴,都是系統(tǒng)需要的吼畏。但我們精力有限,要掌...
    劉振鋒閱讀 11,498評論 10 90
  • 這篇文章主要介紹一些常用的linux服務(wù)器性能監(jiān)控命令嘁灯,包括命令的常用參數(shù)泻蚊、指標(biāo)的含義以及一些交互操作。 幾個問題...
    dancingking閱讀 8,349評論 6 22
  • 攝影:SHILO設(shè)備:佳能7D
    一墨志閱讀 370評論 3 5
  • 人的認知是有局限性的丑婿,長久以來形成的習(xí)慣導(dǎo)致了目前行為的發(fā)生性雄。當(dāng)沒有外力來打擾,按照自己的方式去生活時羹奉,就會出現(xiàn)我...
    正本閱讀 442評論 0 2