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

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

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

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

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

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

  1. # atop

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

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

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

更多的信息參考咱們的nmon性能監控文章服務器

4.slabtop - 顯示內核slab緩存信息網絡

這個應用可以顯示緩存分配器是如何管理Linux內核中緩存的不一樣類型的對象。這個命令相似於top命令,區別是它的重點是實時顯示內核slab緩存信息。它可以顯示按照不一樣排序條件來排序顯示緩存列表。它同時也可以顯示一個slab層信息的統計信息的題頭。舉例以下:

  1. # slabtop --sort=a
  2. # slabtop -s b
  3. # slabtop -s c
  4. # slabtop -s l
  5. # slabtop -s v
  6. # slabtop -s n
  7. # slabtop -s o

更多信息參閱內核slab緩存文章

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

sar 命令能夠將操做系統上所選的累積活動計數器內容信息輸出到標準輸出上。其基於計數值和時間間隔參數的審計系統,會按照指定的時間間隔輸出指定次數的監控信息。若是時間間隔參數爲設置爲0,那麼sar命令將會顯示系統從開機到當時時刻的平均統計信息。有用的命令以下:

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

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

Saidar是一個簡單輕量的系統信息監控工具。雖然它沒法提供大多性能報表,可是它可以經過一個簡單明瞭的方式顯示最有用的系統運行情況數據。你能夠很容易地看到運行時間、平均負載、CPU、內存、進程、磁盤和網絡接口統計信息。

  1. Usage: saidar [-d delay] [-c] [-v] [-h]
  2.  
  3. -d 設置更新時間(秒)
  4. -c 彩色顯示
  5. -v 顯示版本號
  6. -h 顯示本幫助

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

做爲一個廣爲人知的Linux工具,top是大多數的類Unix操做系統任務管理器。它能夠顯示當前正在運行的進程的列表,用戶能夠按照不一樣的條件對該列表進行排序。它主要顯示了系統進程對CPU和內存的使用情況。top能夠快速檢查是哪一個或哪幾個進程掛起了你的系統。你能夠在這裏看到top使用的例子。 你能夠在終端輸入top來運行它並進入到交互模式:

  1. 交互模式的一些快捷操做:
  2.  
  3. 全局命令: <回車/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
  4. 統計區的命令: l, m, t, 1
  5. 任務區的命令:
  6. 外觀: b, x, y, z 內容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R
  7. 色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
  8. 窗口命令: -, _, =, +, A, a, G, g, w

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

Sysdig是一個可以讓系統管理員和開發人員之前所未有方式洞察其系統行爲的監控工具。其開發團隊但願改善系統級的監控方式,經過提供關於存儲,進程,網絡和內存子系統的統一有序以及粒度可見的方式來進行錯誤排查,並能夠建立系統活動記錄文件以便你能夠在任什麼時候間輕鬆分析。

簡單例子:

  1. # sysdig proc.name=vim
  2. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
  3. # sysdig evt.type=chdir and user.name=root
  4. # sysdig -l
  5. # sysdig -L
  6. # sysdig -c topprocs_net
  7. # sysdig -c fdcount_by fd.sport "evt.type=accept"
  8. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
  9. # sysdig -c topprocs_file
  10. # sysdig -c fdcount_by proc.name "fd.type=file"
  11. # sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
  12. # sysdig -c topprocs_cpu
  13. # sysdig -c topprocs_cpu evt.cpu=0
  14. # sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
  15. # sysdig evt.type=open and fd.name contains /etc

更多信息 能夠在 如何利用sysdig改善系統層次的監控和錯誤排查

 

9.netstat - 顯示開放的端口和鏈接

它是Linux管理員使用來顯示各類網絡信息的工具,如查看什麼端口開放和什麼網絡鏈接已經創建以及何種進程運行在該鏈接之上。同時它也顯示了不一樣程序間打開的Unix套接字的信息。做爲大多數Linux發行版本的一部分,netstat的許多命令在 netstat和它的不一樣輸出中有詳細的描述。最爲經常使用的以下:

  1. $ netstat | head -20
  2. $ netstat -r
  3. $ netstat -rC
  4. $ netstat -i
  5. $ netstat -ie
  6. $ netstat -s
  7. $ netstat -g
  8. $ netstat -tapn

10.tcpdump - 洞察網絡封包

tcpdump能夠用來查看網絡鏈接封包內容。它顯示了傳輸過程當中封包內容的各類信息。爲了使得輸出信息更爲有用,它容許使用者經過不一樣的過濾器獲取本身想要的信息。能夠參照的例子以下:

  1. # tcpdump -i eth0 not port 22
  2. # tcpdump -c 10 -i eth0
  3. # tcpdump -ni eth0 -c 10 not port 22
  4. # tcpdump -w aloft.cap -s 0
  5. # tcpdump -r aloft.cap
  6. # tcpdump -i eth0 dst port 80

你能夠文章「在topdump和捕捉包」中找到詳細描述。

11.vmstat - 虛擬內存統計信息

vmstat是虛擬內存(virtual memory statistics)的縮寫,做爲一個內存監控工具,它收集和顯示關於內存進程終端分頁I/O阻塞的歸納信息。做爲一個開源程序,它能夠在大部分Linux發行版本中找到,包括Solaris和FreeBSD。它用來診斷大部分的內存性能問題和其餘相關問題。

M更多信息 參考 vmstat命令文章

12.free - 內存統計信息

free是另外一個可以在終端中顯示內存和交換空間使用的命令行工具。因爲它的簡易,它常常用於快速查看內存使用或者是應用於不一樣的腳本和應用程序中。在這裏你能夠看到這個小程序的許多應用。幾乎全部的系統管理員平常都會用這個工具。:-)

13.Htop - 更加友好的top

Htop基本上是一個top改善版本,它可以以更加多彩的方式顯示更多的統計信息,同時容許你採用不一樣的方式進行排序,它提供了一個用戶友好的接口。

你能夠在文章「關於htop和top的比較」中找到更多的信息 。

14.ss - 網絡管理的現代替代品

ssiproute2包的一部分。iproute2是用來替代一整套標準的Unix網絡工具組件,它曾經用來完成網絡接口配置,路由表和管理ARP表任務。ss工具用來記錄套接字統計信息,它能夠顯示相似netstat同樣的信息,同時也能顯示更多TCP和狀態信息。一些例子以下:

  1. # ss -tnap
  2. # ss -tnap6
  3. # ss -tnap
  4. # ss -s
  5. # ss -tn -o state established -p

15.lsof - 列表顯示打開的文件

lsof命令,意爲「list open files」, 用於在許多類Unix系統中顯示全部打開的文件及打開它們的進程。在大部分Linux發行版和其餘類Linux操做系統中系統管理員用它來檢查不一樣的進程打開了哪些文件。

  1. # lsof +p process_id
  2. # lsof | less
  3. # lsof –u username
  4. # lsof /etc/passwd
  5. # lsof –i TCP:ftp
  6. # lsof –i TCP:80

你能夠找到 更多例子 在lsof 文章

16.iftop - 相似top的了網絡鏈接工具

iftop是另外一個基於網絡信息的相似top的程序。它可以顯示當前時刻按照帶寬使用量或者上傳或者下載量排序的網絡鏈接情況。它同時提供了下載文件的預估完成時間。

更多信息能夠參考網絡流量iftop文章

 

17.iperf - 網絡性能工具

iperf是一個網絡測試工具,可以建立TCPUDP數據鏈接並在網絡上測量它們的傳輸性能。它支持調節關於時間,協議和緩衝等不一樣的參數。對於每個測試,它會報告帶寬,丟包和其餘的一些參數。

若是你想用使用這個工具,能夠參考這篇文章: 如何安裝和使用iperf

18.Smem - 高級內存報表工具

Smem是最早進的Linux命令行工具之一,它提供關於系統中已經使用的和共享的實際內存大小,試圖提供一個更爲可靠的當前內存使用數據。

  1. $ smem -m
  2. $ smem -m -p | grep firefox
  3. $ smem -u -p
  4. $ smem -w -p

參考咱們的文章:Smem更多的例子

2、圖形化或基於Web的性能工具

19.Icinga - Nagios的社區分支版本

Icinga是一個開源免費的網絡監控程序,做爲Nagios的分支,它繼承了前者現有的大部分功能,同時基於這些功能又增長了社區用戶要求已久的功能和補丁。

更多信息請參考安裝和配置lcinga文章

20.Nagios - 最爲流行的監控工具

做爲在Linux上使用最爲普遍和最爲流行的監控方案,它有一個守護程序用來收集不一樣進程和遠程主機的信息,這些收集到的信息都經過功能強大的web界面進行呈現。

你能夠在文章「如何安裝nagios」裏面找到更多的信息

 

21.Linux process explorer - Linux下的procexp

 

Linux process explorer是一個Linux下的圖形化進程瀏覽工具。它可以顯示不一樣的進程信息,如進程數,TCP/IP鏈接和每個進程的性能指標。做爲Windowsprocexp在Linux的替代品,是由Sysinternals開發的,其目標是比topps提供更好用戶體驗。

查看 linux process explorer 文章獲取更多信息。

22.Collectl - 性能監控工具

你能夠既能夠經過交互的方式使用這個性能監控工具,也能夠用它把報表寫到磁盤上,並經過web服務器來訪問。它以一種易讀易管理的格式,顯示了CPU,磁盤,內存,網絡,網絡文件系統,進程,slabs等統計信息。

更多 關於Collectl的文章

23.MRTG - 經典網絡流量監控圖形工具

這是一個採用rrdtool的生成圖形的流量監控工具。做爲最先的提供圖形化界面的流量監控工具,它被普遍應用在類Unix的操做系統中。查看咱們關於如何使用MRTG的文章獲取更多關於安裝和配置的信息。

24.Monit - 簡單易用的監控工具

Monit是一個用來監控進程系統加載文件系統目錄文件等的開源的Linux工具。你可以讓它自動化維護和修復,也可以在運行錯誤的情景下執行特定動做或者發郵件報告提醒系統管理員。若是你想要用這個工具,你能夠查看如何使用Monit的文章

25.Munin - 爲服務器提供監控和提醒服務

做爲一個網絡資源監控工具,Munin可以幫助分析資源趨勢和查看薄弱環節以及致使產生性能問題的緣由。開發此軟件的團隊但願它可以易用和用戶體驗友好。該軟件是用Perl開發的,並採用rrdtool來繪製圖形,使用了web界面進行呈現。開發人員推廣此應用時聲稱當前已有500多個監控插件能夠「即插即用*」。

相關文章
相關標籤/搜索