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

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

基於命令行的性能監控工具

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

該命令整合了vmstatiostatifstat三種命令。同時增加了新的特性和功能可以讓你能及時看到各種的資源使用情況,從而能夠使你對比和整合不同的資源使用情況。通過不同顏色和區塊佈局的界面幫助你能夠更加清晰容易的獲取信息。它也支持將信息數據導出到cvs格式文件中,從而用其他應用程序打開,或者導入到數據庫中。你可以用該命令來監控cpu,內存和網絡狀態隨着時間的變化

000431dj4t4bckobrkt7uc.png

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

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

# atop

當然你也可以使用交互界面來顯示數據並進行排序。

000433occszd5tslddtd17.jpg

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

Nmon是Nigel's Monitor縮寫,它最早開發用來作爲AIX的系統監控工具。如果使用在線模式,可以使用光標鍵在屏幕上操作實時顯示在終端上的監控信息。使用捕捉模式能夠將數據保存爲CSV格式,方便進一步的處理和圖形化展示。

000435apz51c1p00njpkjp.png

更多的信息參考使用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 顯示本幫助

000448zcv6s2ewass6y2sr.png


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

000450pqrrixr0u6uqdyx5.png

8. Sysdig - 系統進程的高級視圖

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

000452i0j23a421ej2d4ra.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章