一文詳解Linux系統常用監(jiān)控工具
概 述
本文主要記錄一下 Linux系統上一些常用的系統監(jiān)控工具,非常好用。正所謂磨刀不誤砍柴工,花點時間總結一下是值得的!
本文內容腦圖如下:

top 命令
top 命令我想大家都挺熟悉吧!Linux 下的 top 命令有點類似于 Windows下的任務管理器,能夠實時動態(tài)地監(jiān)控并顯示系統中各個進程的資源占用狀況,是 Linux下常用的性能監(jiān)控和分析工具。
一個常見的top命令的執(zhí)行視圖如下:

下面我們詳細在圖中標注出每個指標的含義,認真看圖對比理解吧(必要時可保存該圖備查哦):

怎么樣,理解起來夠直觀了吧,至于 top命令的其他一些帶參數用法自行help吧,太多了,不再贅述了!
htop 命令
htop 是 Linux下一個交互式的進程瀏覽器,可以完全替代上一小節(jié)中所講的 top命令,與 top命令對比,htop命令有如下優(yōu)點:
- 直接支持鼠標點擊操作( 就問你6不6!)
- 畫面可以水平垂直滾動,更像一個窗口
- 可以跟蹤進程,顯示進程打開的文件
- 支持進程的樹狀圖顯示
- 支持按照名稱查找進程
總之可視化方面做得66的,我們來體驗一下:

就該圖來說,分成三部分:
- 頂部是資源使用情況概覽,這進度條看著就挺酷炫
- 中間是進程表,和top命令的類似
- 下面是操作指引和快捷鍵清晰明了
我們接下來再來看一些圖形化的操作:
- 進程樹狀圖

- 鼠標點擊各種指標來排序

- 跟蹤進程功能


iotop 命令
iotop 是用來監(jiān)控硬盤 IO的使用情況,UI 界面和 top類似,其中包括 PID、用戶、I/O、進程 等相關信息。
Linux 下系統自帶的IO統計工具如 iostat,nmon等大多數是只能統計到 per設備的讀寫情況,如果你想知道每個進程是如何使用 IO的就比較麻煩,使用 iotop命令可以很方便的查看。

iftop 命令
iftop 是Linux系統的流量和帶寬監(jiān)控工具,可用于查看實時的網絡流量、監(jiān)控TCP/IP連接等,也是非常有用的!
我們來做一下實驗,命令執(zhí)行后效果如下:


iftop 命令常用的參數如下,這里做個小規(guī)??偨Y:
- -i 設定監(jiān)測的網卡,如:# iftop -i eth1
- -B 以bytes為單位顯示流量 (默認是bits),如:# iftop -B
- -n 使 host信息默認直接都顯示 IP,如:# iftop -n
- -N 使端口信息默認直接都顯示端口號,如: # iftop -N
- -F 顯示特定網段的進出流量,如 # iftop -F 10.10.1.0/24 或 # iftop -F 10.10.1.0/255.255.255.0
- -h(display this message),幫助,顯示參數信息
- -p 使用這個參數后,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;
- -b 使流量圖形條默認就顯示;
再來總結一下,進入 iftop 視圖畫面后的一些操作命令 (注意大小寫):
- 按 h切換是否顯示幫助;
- 按 n切換顯示本機的IP或主機名;
- 按 s切換是否顯示本機的host信息;
- 按 d切換是否顯示遠端目標主機的host信息;
- 按 t切換顯示格式為2行/1行/只顯示發(fā)送流量/只顯示接收流量;
- 按 N切換顯示端口號或端口服務名稱;
- 按 S切換是否顯示本機的端口信息;
- 按 D切換是否顯示遠端目標主機的端口信息;
- 按 p切換是否顯示端口信息;
- 按 P切換暫停/繼續(xù)顯示;
- 按 b切換是否顯示平均流量圖形條;
- 按 T切換是否顯示每個連接的總流量;
- 按 l打開屏幕過濾功能,輸入要過濾的字符,比如ip,按回車后,屏幕就只顯示這個IP相關的流量信息;
- 按 L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
- 按 j或按k可以向上或向下滾動屏幕顯示的連接記錄;
- 按 1或2或3可以根據右側顯示的三列流量數據進行排序;
- 按<根據左邊的本機名或 IP排序;
- 按>根據遠端目標主機的主機名或 IP排序;
- 按o切換是否固定只顯示當前的連接;