天天看點

你值得擁有 —— 25 個 Linux 性能監控工具

一段時間以來,我們在網上向讀者介紹了如何為Linux以及類Linux作業系統配置多種不同的性能監控工具。在這篇文章中我們将羅列一系列使用最頻繁的性能監控工具,并對介紹到的每一個工具提供了相應的簡介連結,大緻将其劃分為兩類,基于指令行的和提供圖形化接口的。

基于指令行的性能監控工具

1. dstat - 多類型資源統計工具

該指令整合了vmstat,iostat和ifstat三種指令。同時增加了新的特性和功能可以讓你能及時看到各種的資源使用情況,進而能夠使你對比和整合不同的資源使用情況。通過不同顔色和區塊布局的界面幫助你能夠更加清晰容易的擷取資訊。它也支援将資訊資料導出到cvs格式檔案中,進而用其他應用程式打開,或者導入到資料庫中。你可以用該指令來監控cpu,記憶體和網絡狀态随着時間的變化。

你值得擁有 —— 25 個 Linux 性能監控工具

2. atop - 相比top更好的ASCII碼體驗

這個使用ASCII碼顯示方式的指令行工具是一個顯示所有程序活動的性能監控工具。它可以展示每日的系統日志以進行長期的程序活動分析,并高亮顯示過載的系統使用資源。它包含了CPU,記憶體,交換空間,磁盤和網絡層的度量名額。所有這些功能隻需在終端運作atop即可。

# atop      

當然你也可以使用互動界面來顯示資料并進行排序。

你值得擁有 —— 25 個 Linux 性能監控工具

3. Nmon - 類Unix系統的性能監控

Nmon是Nigel's Monitor縮寫,它最早開發用來作為AIX的系統監控工具。如果使用線上模式,可以使用光标鍵在螢幕上操作實時顯示在終端上的監控資訊。使用捕捉模式能夠将資料儲存為CSV格式,友善進一步的處理和圖形化展示。

你值得擁有 —— 25 個 Linux 性能監控工具

更多的資訊參考使用nmon進行性能監控的文章。

4. slabtop - 顯示核心slab緩存資訊

這個應用能夠顯示緩存配置設定器是如何管理Linux核心中緩存的不同類型的對象。這個指令類似于top指令,差別是它的重點是實時顯示核心slab緩存資訊。它能夠顯示按照不同排序條件來排序顯示緩存清單。它同時也能夠顯示一個slab層資訊的統計資訊的題頭。舉例如下:

# slabtop --sort=a
# slabtop -s b
# slabtop -s c
# slabtop -s l
# slabtop -s v
# slabtop -s n
# slabtop -s o      

更多的資訊參考監控核心slab緩存的文章。

5. sar - 性能監控和瓶頸檢查

sar 指令可以将作業系統上所選的累積活動計數器内容資訊輸出到标準輸出上。其基于計數值和時間間隔參數的審計系統,會按照指定的時間間隔輸出指定次數的監控資訊。如果時間間隔參數為設定為0,那麼sar指令将會顯示系統從開機到當時時刻的平均統計資訊。有用的指令如下:

# sar -u 2 3
# sar -u -f /var/log/sa/sa05
# sar -P ALL 1 1
# sar -r 1 3
# sar -W 1 3      

6. Saidar - 簡單的統計監控工具

Saidar是一個簡單且輕量的系統資訊監控工具。雖然它無法提供大多性能報表,但是它能夠通過一個簡單明了的方式顯示最有用的系統運作狀況資料。你可以很容易地看到運作時間、平均負載、CPU、記憶體、程序、磁盤和網絡接口統計資訊。

Usage: saidar [-d delay] [-c] [-v] [-h]
 
-d 設定更新時間(秒)
-c 彩色顯示
-v 顯示版本号
-h 顯示本幫助      
你值得擁有 —— 25 個 Linux 性能監控工具

7. top - 經典的Linux任務管理工具

作為一個廣為人知的Linux工具,top是大多數的類Unix作業系統任務管理器。它可以顯示目前正在運作的程序的清單,使用者可以按照不同的條件對該清單進行排序。它主要顯示了系統程序對CPU和記憶體的使用狀況。top可以快速檢查是哪個或哪幾個程序挂起了你的系統。你可以在這裡看到top使用的例子。 你可以在終端輸入top來運作它并進入到互動模式:

互動模式的一些快捷操作:
 
    全局指令: <回車/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
    統計區的指令: l, m, t, 1
    任務區的指令:
         外觀: b, x, y, z 内容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R
    色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
    視窗指令:  -, _, =, +, A, a, G, g, w      
你值得擁有 —— 25 個 Linux 性能監控工具

8. Sysdig - 系統程序的進階視圖

# sysdig proc.name=vim
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig evt.type=chdir and user.name=root
# sysdig -l
# sysdig -L
# sysdig -c topprocs_net
# sysdig -c fdcount_by fd.sport "evt.type=accept"
# sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
# sysdig -c topprocs_file
# sysdig -c fdcount_by proc.name "fd.type=file"
# sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
# sysdig -c topprocs_cpu
# sysdig -c topprocs_cpu evt.cpu=0
# sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
# sysdig evt.type=open and fd.name contains /etc