Linux——服務器巡檢常用的命令

前言

由于工作中常常需要兼顧運維工作忧吟,涉及到對服務器資源的巡檢,所以會用到各種命令來檢查服務器各項指標是否正常,本篇文章將介紹巡檢過程中常用的命令裆装,也是給自己做一個總結,希望對各位讀者有所幫助倡缠。

一哨免、CPU篇

(一)top命令

top命令其實算是一個比較綜合的查詢系統(tǒng)資源的命令,它提供了一個動態(tài)的昙沦、交互式的實時視圖琢唾。我們從下圖中可以看到,看板中大致可以分為兩個模塊盾饮,上面的模塊是系統(tǒng)的整體性能信息采桃,下面的模塊展示正在運行的進程的相關信息懒熙。
我們現(xiàn)在主要關心CPU參數,那么我們就先忽略其他內容普办,先聚焦于第三行的CPU信息工扎。

top命令執(zhí)行結果

1、關于CPU 參數的解釋

我們可以看到衔蹲,圖中展示的cpu信息是:%Cpu(s): 5.6 us, 1.1 sy, 0.0 ni, 93.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st肢娘,這一串文本具體是什么意思呢?
我們可以結合下面的名詞解釋進行介紹踪危。

  • us
    us是 user的縮寫蔬浙,表示用戶空間占用CPU百分比 。正常情況下贞远,我們部署在服務器上面的應用畴博、中間件以及執(zhí)行的腳本,都算是運行在用戶地址空間的進程蓝仲,這些程序如果不是處于idle狀態(tài)俱病,那么絕大多數的CPU時間都是運行在用戶態(tài)。
    5.6 us表示的就是當前服務器用戶空間占用CPU的百分比為5.6%袱结,其實很多應用都是屬于非CPU密集型類型的亮隙,所以CPU資源占用少是比較正常的。

  • sy
    sy是system的縮寫垢夹,表示內核空間占用CPU百分比溢吻。所有進程要使用的系統(tǒng)資源都是由Linux內核處理的。當處于用戶態(tài)(用戶地址空間)的進程需要使用系統(tǒng)的資源時果元,比如需要分配一些內存促王、或是執(zhí)行IO操作、再或者是去創(chuàng)建一個子進程而晒,此時就會進入內核態(tài)(內核地址空間)運行蝇狼。事實上,決定進程在下一時刻是否會被運行的進程調度程序就運行在內核態(tài)倡怎。
    一般來說迅耘,sy占比比較高的常見場景是系統(tǒng)中存在大量的IO操作(比如說文件拷貝,大批量的內存回收)或者是并發(fā)狀態(tài)下服務器處理請求

  • ni
    ni 是 nice的縮寫监署,表示用戶進程空間內改變過優(yōu)先級的進程占用CPU百分比颤专。Linux支持我們通過nice值調整進程用戶態(tài)的優(yōu)先級,這里顯示的ni表示調整過nice值的進程消耗掉的CPU時間钠乏。如果系統(tǒng)中沒有進程被調整過nice值血公,那么ni就顯示為0
    (這個用得比較少,我們一般也不怎么關注)

  • id
    id 是 idle的縮寫缓熟,表示空閑CPU百分比累魔。我們可以利用這個值來獲取當前空閑的CPU以及反向推算CPU的使用率

  • wa
    wa是wait的縮寫等待輸入輸出的CPU時間百分比。我們知道CPU的速度要遠比磁盤的IO速度快得多够滑,CPU在啟動一個磁盤讀寫操作后垦写,需要等待磁盤讀寫操作的結果。在磁盤讀寫操作完成前彰触,CPU只能處于空閑狀態(tài)梯投。Linux系統(tǒng)在計算系統(tǒng)平均負載時會把CPU等待IO操作的時間也計算進去,所以在我們看到系統(tǒng)平均負載過高時况毅,可以通過wa來判斷系統(tǒng)的性能瓶頸是不是過多的IO操作造成的分蓖。

  • hi和si
    hi和si分別是hard interruptsoft interrupt,對應硬中斷和軟中斷占用百分比尔许。
    硬中斷表示硬盤么鹤、網卡等硬件設備發(fā)送給CPU的中斷消息,當CPU收到中斷消息后需要進行適當的處理(消耗CPU時間)
    軟中斷表示由程序發(fā)出的中斷味廊,最終也會執(zhí)行相應的處理程序(消耗CPU時間)

那么cpu使用率怎么看蒸甜?

可以兩種計算方式:100% - id% 或者 us% + sy% ni%(后者的公式不是很嚴謹,沒算上等待時間和中斷時間余佛,但一般基本都夠用)柠新,通過任意一個式子基本上就可以得到當前服務器cpu資源的使用情況了

2、top命令常用的參數
選項 效果
-d <秒數> 指定 top 命令的刷新時間間隔辉巡,單位為秒(不指定的話默認3s刷新一次)
-n <次數> 指定 top 命令運行的次數后自動退出
-p <進程ID> 僅顯示指定進程ID的信息
-u <用戶名> 僅顯示指定用戶名的進程信息
-H 在進程信息中顯示線程詳細信息
-i 不顯示閑置(idle)或無用的進程
-b 以批處理(batch)模式運行恨憎,直接將結果輸出到文件
-c 顯示完整的命令行而不截斷
-S 累計顯示進程的 CPU 使用時間
3、top的交互命令

top命令和其他常見命令不同的地方在于郊楣,它在執(zhí)行過程中支持交互性的傳遞參數憔恳。下面我們就列舉幾個常用的交互性參數吧

命令 解釋
1 多cpu情況下會展示每個cpu的使用情況,其實用得不算多
u + 用戶名 篩選出指定用戶的進程
E 切換頂部的內存顯示單位痢甘,從KB/MB/GB/T/E等單位輪詢切換
e 切換底部進程的內存顯示單位喇嘱,從KB/MB/GB/T/E等單位輪詢切換
c 展示COMMAND列中完整的命令行
注意事項

巡檢的時候由于服務器數量多,且top命令默認又是交互型的命令塞栅,所以我們一般不太會每臺服務器都登錄上去手動執(zhí)行top命令后再手動按q退出者铜。
我們一般會非交互式地執(zhí)行top命令,并把結果輸出到一個結果文件中

top -n 1 >> a.txt

二放椰、內存篇

其實top命令本身就已經包含了內存數據作烟,不過更多時候筆者還是習慣用free命令來快速查看系統(tǒng)當前的內存使用情況

(一)free命令

free命令是專門用來展示當前系統(tǒng)的內存和Swap交換區(qū)使用情況的命令,默認情況下結果以KB為單位進行展示

free命令結果

我們可以加一些選項來優(yōu)化輸出結果

結果以(人類)易讀模式展示
free -h
結果加上匯總列
free -t

三砾医、磁盤篇

(一)df

df命令是disk free的縮寫拿撩,表示磁盤空間,是我們經常用來檢查磁盤使用空間的命令如蚜。df命令默認情況下也是以KB作為展示單位压恒,我們常常會使用df -h命令來方便我們查看結果

df命令執(zhí)行結果

了解Linux系統(tǒng)根路徑目錄的讀者可能已經發(fā)現(xiàn)了影暴,df命令的結果中并沒有/etc/proc等根路徑目錄的存儲結果探赫,這是因為df命令是以文件系統(tǒng)為單位進行展示的型宙,如果你想知道怎么判斷某個目錄是屬于哪個文件系統(tǒng),可以從下一小節(jié)的磁盤清理介紹中了解到更多細節(jié)伦吠。

(二)關于磁盤清理

當出現(xiàn)磁盤空間超過健康值的情況妆兑,我們一般會對磁盤容量進行分析,查看哪些文件以及目錄占用的磁盤空間比較高毛仪,再根據實際情況來進行轉移/壓縮或者刪除處理搁嗓。
假設現(xiàn)在我發(fā)現(xiàn)/dev/mapper/rootvg-lv_root這個文件系統(tǒng)空間快滿了,希望刪除一些臨時文件來減輕磁盤壓力箱靴,那么這個時候我們會希望知道當前刪除的文件是否在這個文件系統(tǒng)上面腺逛。我們可以通過下面的命令來查看這個文件(夾)是屬于哪個文件系統(tǒng)的

df path
(三)du

du命令是disk usage單詞的縮寫,表示磁盤使用情況刨晴。和df命令不同屉来,df命令是一個大而籠統(tǒng)的統(tǒng)計,有時候我們可能只是單純希望統(tǒng)計某個目錄下所有文件的總大小狈癞。這個時候du命令會更適合我們茄靠,du命令默認情況下會展示當前目錄下所有子目錄的大小(注意蝶桶,這里的子目錄是已經包含子目錄內所有層級所有文件的大小))以及當前目錄的總大小慨绳,存儲單位為KB。但是du命令默認不會展示目錄內非目錄類型的文件大小

du命令默認結果

下面是比較常見的選項

選項 解釋
-a / -all 詳細展示所有層級的子目錄和文件大小
-h或--human-readable 以K真竖,M脐雪,G為單位,提高信息的可讀性
-s 比較實用的命令恢共,一般來說我們更關注當前下一個層級目錄的總大小战秋。僅顯示指定目錄或文件的總大小,而不顯示其子目錄的大小
--exclude=<目錄或文件> 略過指定的目錄或文件
--max-depth=<目錄層數> 超過指定層數的目錄后讨韭,予以忽略

筆者一般會使用du -sh * | sort -rh | head -n 5來快速查看當前目錄下最占空間的目錄或者文件

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末脂信,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子透硝,更是在濱河造成了極大的恐慌狰闪,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件濒生,死亡現(xiàn)場離奇詭異埋泵,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門丽声,熙熙樓的掌柜王于貴愁眉苦臉地迎上來礁蔗,“玉大人,你說我怎么就攤上這事雁社∈蒴铮” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵歧胁,是天一觀的道長。 經常有香客問我厉碟,道長喊巍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任箍鼓,我火速辦了婚禮崭参,結果婚禮上,老公的妹妹穿的比我還像新娘款咖。我一直安慰自己何暮,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布铐殃。 她就那樣靜靜地躺著海洼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪富腊。 梳的紋絲不亂的頭發(fā)上坏逢,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音赘被,去河邊找鬼是整。 笑死,一個胖子當著我的面吹牛民假,可吹牛的內容都是我干的浮入。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼羊异,長吁一口氣:“原來是場噩夢啊……” “哼事秀!你這毒婦竟也來了?” 一聲冷哼從身側響起球化,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤秽晚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后筒愚,有當地人在樹林里發(fā)現(xiàn)了一具尸體赴蝇,經...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年巢掺,在試婚紗的時候發(fā)現(xiàn)自己被綠了句伶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片劲蜻。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖考余,靈堂內的尸體忽然破棺而出先嬉,到底是詐尸還是另有隱情,我是刑警寧澤楚堤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布疫蔓,位于F島的核電站,受9級特大地震影響身冬,放射性物質發(fā)生泄漏衅胀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一酥筝、第九天 我趴在偏房一處隱蔽的房頂上張望滚躯。 院中可真熱鬧,春花似錦嘿歌、人聲如沸掸掏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧凤。三九已至,卻和暖如春茄唐,著一層夾襖步出監(jiān)牢的瞬間息裸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工沪编, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呼盆,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓蚁廓,卻偏偏與公主長得像访圃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子相嵌,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內容