Linux系統(tǒng)常用監(jiān)控工具
概述
本文主要記錄一下Linux系統(tǒng)上一些常用的系統(tǒng)監(jiān)控工具监嗜,包括top命令、htop命令毕泌、iotop命令和iftop命令,非常好用嗅辣。正所謂磨刀不誤砍柴工撼泛,花點時間總結(jié)一下是值得的!
top命令
top 命令我想大家都挺熟悉吧澡谭!Linux 下的 top 命令有點類似于 Windows下的任務管理器愿题,能夠?qū)崟r動態(tài)地監(jiān)控并顯示系統(tǒng)中各個進程的資源占用狀況, 是 Linux下常用的性能監(jiān)控和分析工具蛙奖。
一個常見的top命令的執(zhí)行視圖如下:
下面我們詳細在圖中標注出每個指標的含義潘酗,認真看圖對比理解吧(必要時可保存該圖備查哦):
怎么樣,理解起來夠直觀了吧雁仲,至于 top命令的其他一些帶參數(shù)用法自行help吧崎脉,太多了,不再贅述了伯顶!
-
VIRT:virtual memory usage 虛擬內(nèi)存
1、進程“需要的”虛擬內(nèi)存大小骆膝,包括進程使用的庫祭衩、代碼、數(shù)據(jù)等
2阅签、假如進程申請100m的內(nèi)存掐暮,但實際只使用了10m,那么它會增長100m政钟,而不是實際的使用量
-
RES:resident memory usage 常駐內(nèi)存
1路克、進程當前使用的內(nèi)存大小,但不包括swap out
2养交、包含其他進程的共享
3精算、如果申請100m的內(nèi)存,實際使用10m碎连,它只增長10m灰羽,與VIRT相反
4、關于庫占用內(nèi)存的情況鱼辙,它只統(tǒng)計加載的庫文件所占內(nèi)存大小
-
SHR:shared memory 共享內(nèi)存
1廉嚼、除了自身進程的共享內(nèi)存,也包括其他進程的共享內(nèi)存
2倒戏、雖然進程只使用了幾個共享庫的函數(shù)怠噪,但它包含了整個共享庫的大小
3、計算某個進程所占的物理內(nèi)存大小公式:RES – SHR
4杜跷、swap out后傍念,它將會降下來
htop命令
htop 是 Linux下一個交互式的進程瀏覽器矫夷,可以完全替代上一小節(jié)中所講的 top命令,與 top命令對比捂寿,htop命令有如下優(yōu)點:
- 直接支持鼠標點擊操作( 就問你6不6?谒摹)
- 畫面可以水平垂直滾動,更像一個窗口
- 可以跟蹤進程秦陋,顯示進程打開的文件
- 支持進程的樹狀圖顯示
- 支持按照名稱查找進程
總之可視化方面做得66的蔓彩,我們來體驗一下:
就該圖來說,分成三部分:
- 頂部是資源使用情況概覽驳概,這進度條看著就挺酷炫
- 中間是進程表赤嚼,和top命令的類似
- 下面是操作指引和快捷鍵清晰明了
我們接下來再來看一些圖形化的操作:
-
進程樹狀圖
-
鼠標點擊各種指標來排序
- 跟蹤進程功能
選中某一個進程,按S鍵即可利用strace追蹤進程系統(tǒng)調(diào)用
iotop命令
iotop 是用來監(jiān)控硬盤 IO的使用情況顺又, UI 界面和 top類似更卒,其中包括 PID、用戶稚照、I/O蹂空、進程 等相關信息。
Linux 下系統(tǒng)自帶的IO統(tǒng)計工具如 iostat果录,nmon等大多數(shù)是只能統(tǒng)計到 per設備的讀寫情況上枕,如果你想知道每個進程是如何使用 IO的就比較麻煩,使用 iotop命令可以很方便的查看弱恒。
iftop
iftop 是Linux系統(tǒng)的流量和帶寬監(jiān)控工具辨萍,可用于查看實時的網(wǎng)絡流量、監(jiān)控TCP/IP連接等返弹, 也是非常有用的锈玉!
我們來做一下實驗,命令執(zhí)行后效果如下:
iftop 命令常用的參數(shù)如下义起,這里做個小規(guī)睦常總結(jié):
- -i 設定監(jiān)測的網(wǎng)卡,如: # iftop -i eth1
- -B 以bytes為單位顯示流量 (默認是bits)默终,如: # iftop -B
- -n 使 host信息默認直接都顯示 IP去团,如: # iftop -n
- -N 使端口信息默認直接都顯示端口號,如: # iftop -N
- -F 顯示特定網(wǎng)段的進出流量穷蛹,如 # iftop -F 10.10.1.0/24 或 # iftop -F 10.10.1.0/255.255.255.0
- -h(display this message)土陪,幫助,顯示參數(shù)信息
- -p 使用這個參數(shù)后肴熏,中間的列表顯示的本地主機信息鬼雀,出現(xiàn)了本機以外的IP信息;
- -b 使流量圖形條默認就顯示;
再來總結(jié)一下,進入 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可以根據(jù)右側(cè)顯示的三列流量數(shù)據(jù)進行排序;
- 按 <根據(jù)左邊的本機名或 IP排序;
- 按 >根據(jù)遠端目標主機的主機名或 IP排序;
- 按 o切換是否固定只顯示當前的連接;
參考: