監控 Linux 性能的 18 個命令行工具

對於系統和網絡管理員來講天天監控和調試Linux系統的性能問題是一項繁重的工做。在IT領域做爲一名Linux系統的管理員工做5年後。我逐漸 認識到監控和保持系統啓動並執行是多麼的不easy。基於此緣由,咱們已編寫了最常使用的18個命令行工具列表,這些工具將有助於每個Linux/Unix 系統管理員的工做。這些命令行工具可以在各類Linux系統下使用。可以用於監控和查找產生性能問題的解決辦法。php

這個命令行工具列表提供了足夠的工具,您可以 挑選適用於您的監控場景的工具。html

1.Top-Linux進程監控

Linux下的Top命令是一個性能監控程序,不少系統管理員常常常使用它來監控Linux性能,在不少Linux或者類Unix操做系統裏都有這個命令。前端

Top命令用於按必定的順序顯示所有正在執行而且處於活動狀態的實時進程。而且會按期更新顯示結果。這條命令顯示了CPU的使用率、內存使用率、交換內存使用大小、快速緩存使用大小、緩衝區使用大小。進程PID、所使用命令以及其它。它還可以顯示正在執行進程的內存和CPU佔用多的狀況。mysql

對系統管理員來講,top命令式是一個很實用的,它可用於監控系統並在需要的時候採取正確的處理動做。linux

讓咱們看看實際中的top命令。ios

#top

13115558_AIkI
Top命令舉例
有關Top命令不少其它的樣例,請閱讀:Linux下12個使用Top命令的樣例web

2. VmStat – 虛擬內存統計

Linux 的VmStat命令用於顯示虛擬內存內核線程磁盤系統進程I/O 塊中斷CPU 活動等的統計信息。缺省狀況下, vmstat 命令在 Linux 系統下不可用。你需要安裝一個包括了 vmstat 程序的sysstat軟件包。命令格式的常見使用方法是:sql

1小程序

2swift

3

4

#vmstat

procs-----------memory-------------swap-------io------system-------cpu-----

rbswpdfreeinactactivesisobiboincsussyidwast

10081042097380706280011548979169030

不少其它的 vmstat 樣例,請閱讀 :6 Linux 下的 Vmstat 命令實例

3.Lsof-列出打開的文件

在不少Linux或者類Unix系統裏都有lsof命令,它常用於以列表的形式顯示所有打開的文件和進程。

打開的文件包含磁盤文件、網絡套接字、管道、設備和進程。使用這條命令的主要情形之中的一個就是在沒法掛載磁盤和顯示正在使用或者打開某個文件的錯誤信息的時候。

使用這條命令,你可以很是easy地看到正在使用哪一個文件。

這條命令最常用的格式例如如下:

1

2

3

4

5

6

7

8

9

10

11

#lsof

COMMANDPIDUSERFDTYPEDEVICESIZENODENAME

init1rootcwdDIR104,240962/

init1rootrtdDIR104,240962/

init1roottxtREG104,23865217710339/sbin/init

init1rootmemREG104,2129900196453/lib/ld-2.5.so

init1rootmemREG104,21693812196454/lib/libc-2.5.so

init1rootmemREG104,220668196479/lib/libdl-2.5.so

init1rootmemREG104,2245376196419/lib/libsepol.so.1

init1rootmemREG104,293508196431/lib/libselinux.so.1

init1root10uFIFO0,17953/dev/initctl

有關lsof命令的使用方法和樣例的不少其它信息,請參考Linux下10個使用lsof命令的樣例

4.Tcpdump-網絡包分析器

Tcpdump是最普遍使用的網絡包分析器或者包監控程序之中的一個,它用於捕捉或者過濾網絡上指定接口上接收或者傳輸的TCP/IP包。它另外一個選項用於把捕捉到的包保存到文件中,以便之後進行分析。在差點兒所有基本的Linux公佈裏,tcpdump都可以使用。

1

2

3

4

5

#tcpdump-ieth0tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode

listeningoneth0,link-typeEN10MB(Ethernet),capturesize96bytes

22:08:59.617628IPtecmint.com.ssh>115.113.134.3.static-mumbai.vsnl.net.in.28472:P2532133365:2532133481(116)ack3561562349win9648

22:09:07.653466IPtecmint.com.ssh>115.113.134.3.static-mumbai.vsnl.net.in.28472:P116:232(116)ack1win9648

22:08:59.617916IP115.113.134.3.static-mumbai.vsnl.net.in.28472>tecmint.com.ssh:.ack116win64347

要想得到不少其它有關tcpdump使用方法的信息。請參閱Linux下12個使用Tcpdump命令的樣例。

5.Netstat-網絡狀態統計

Netstat是一個用於監控進出網絡的包和網絡接口統計的命令行工具。它是一個很實用的工具。系統管理員可以用來監控網絡性能,定位並解決網絡相關問題。

1

2

3

4

5

6

7

8

9

10

11

12

13

#netstat-a|moreActiveInternetconnections(serversandestablished)

ProtoRecv-QSend-QLocalAddressForeignAddressState

tcp00*:mysql*:*LISTEN

tcp00*:sunrpc*:*LISTEN

tcp00*:realm-rusd*:*LISTEN

tcp00*:ftp*:*LISTEN

tcp00localhost.localdomain:ipp*:*LISTEN

tcp00localhost.localdomain:smtp*:*LISTEN

tcp00localhost.localdomain:smtplocalhost.localdomain:42709TIME_WAIT

tcp00localhost.localdomain:smtplocalhost.localdomain:42710TIME_WAIT

tcp00*:http*:*LISTEN

tcp00*:ssh*:*LISTEN

tcp00*:https*:*LISTEN

有關Netstat不少其它的樣例,請參閱:Linux下20個使用Netstat命令的樣例。

6. Htop – Linux進程監控

Htop是一個很高級的交互式的實時linux進程監控工具。 它和top命令十分類似,但是它具備更豐富的特性,好比用戶可以友好地管理進程,快捷鍵。垂直和水平方式顯示進程等等。 Htop是一個第三方工具,它不包括在linux系統中,你需要使用YUM包管理工具去安裝它。 關於安裝的不少其它信息,請閱讀下文.

#htop

13115601_fiol

Htop 命令演示樣例截圖

對於Htop的安裝,請讀:在Linux安裝Htop(Linux進程監控)

7.Iotop-監控Linux磁盤I/O

Iotop命令相同也很相似於top命令Htop程序。只是它具備監控並顯示實時磁盤I/O和進程的統計功能。在查找詳細進程和大量使用磁盤讀寫進程的時候,這個工具就很實用。

#iotop

13115602_F9DGIotop命令舉例的截圖
有關怎樣安裝和使用iotop的信息,請閱讀在Linux下安裝Iotop。

8.Iostat-輸入/輸出統計

Iostat是一個用於收集顯示系統存儲設備輸入和輸出狀態統計的簡單工具。

這個工具常常常使用來追蹤存儲設備的性能問題,當中存儲設備包含設備、本地磁盤。以及諸如使用NFS等的遠端磁盤

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#iostat

Linux2.6.18-238.9.1.el5(tecmint.com)09/13/2012

avg-cpu:%user%nice%system%iowait%steal%idle

2.603.651.044.290.0088.42

Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn

cciss/c0d017.79545.80256.52855159769401914750

cciss/c0d0p10.000.000.0054593518

cciss/c0d0p216.45533.97245.18836631746384153384

cciss/c0d0p30.635.583.9787376506215544

cciss/c0d0p40.000.000.0080

cciss/c0d0p50.633.795.0359367787882528

cciss/c0d0p60.082.462.3438477713659776

有關iostat使用方法和舉例的不少其它信息,請訪問:Linux下6個使用iostat命令的樣例

9.IPTraf-實時局域網IP監控

IPTraf是一個在Linux控制檯執行的、開放源碼的實時網絡(局域網)監控應用。它採集了大量信息,比方經過網絡的IP流量監控,包含TCP標記、ICMP具體信息、TCP/UDP流量分離、TCP鏈接包和字節數。同一時候還採集有關接口狀態的常見信息和具體信息:TCP、UDP、IP、ICMP、非IP,IP校驗和錯誤,接口活動等。

420140219110741

IP流量監控
有關IPTraf工具使用方法以及其它不少其它信息,請訪問:IPTraf網絡監控工具

10. psacct 或者 acct – 監視用戶活動

psacct或者acct工具用於監視系統裏每個用戶的活動情況。

這兩個服務進程執行在後臺,它們對系統上執行的每個用戶的所有活動進行近距離監視,同一時候還監視這些活動所使用的資源狀況。

系統管理員可以使用這兩個工具跟蹤每個用戶的活動,比方用戶正在作什麼,他們提交了那些命令,他們使用了多少資源,他們在系統上持續了多長時間等等。

有關這些命令的安裝和使用方法舉例信息,請參閱文章:使用psacct或者acct監視用戶活動

11.Monit – Linux進程和服務監控工具

Monit是一個免費的開源軟件。也是一個基於網絡的進程監控工具。

它能本身主動監控和管理系統進程,程序。文件,目錄。權限。總和驗證碼和文件系統。

這個軟件能監控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH這種服務。你可以經過命令行或者這個軟件提供的網絡藉口來查看系統狀態。

13115605_Gvjb

Monit Linux系統監控

不少其它內容請參閱:用Monit監控Linux進程

12.NetHogs-監視每個進程使用的網絡帶寬

NetHogs是一個開放源源碼的很是小程序(與Linux下的top命令很是類似),它密切監視着系統上每個進程的網絡活動。同一時候還追蹤着每個程序或者應用所使用的實時網絡帶寬。

13115606_C06o

NetHogs:Linux下的帶寬監視
不少其它信息請參閱:使用NetHogs監視Linux的網絡帶寬使用情況。

13.iftop-監視網絡帶寬

iftop是還有一個在控制檯執行的開放源碼系統監控應用,它顯示了系統上經過網絡接口的應用網絡帶寬使用(源主機或者目的主機)的列表,這個列表按期更新。iftop用於監視網絡的使用狀況,而‘top’用於監視CPU的使用狀況。iftop是‘top’工具系列中的一員。它用於監視所選接口,並顯示兩個主機間當前網絡帶寬的使用狀況。

720140219110814

iftop-監視網絡帶寬。

不少其它信息請參閱:iftop-監視網絡帶寬的使用狀況

14 Monitorix-系統和網絡監控

Monitorix 是一個免費的輕量級應用工具。它的設計初衷是執行和監控Linux/Unixserver系統和資源等。它有一個HTTP 網絡server。這個server有規律的收集系統和網絡的信息並以圖形化的形式展現出來。

它監控系統的平均負載和使用,內存分配、磁盤健康情況、系統服務、網絡端 口、郵件統計(Sendmail,Postfix,Dovecot等),MySQL統計,等等。

它就是用來監控系統的總體性能,幫助發現失誤、瓶頸和異常 活動的。

820140219110833

15. Arpwatch – 以太網活動監視器

Arpwatch被設計用來監控Linux上的以太網地址解析 (MACIP地址的變化)。他在一段時間內持續監控以太網活動並輸出IP和MAC地址配對變更的日誌。

它還可以向管理員發送郵件通知,對地址配對的增改發出警告。這對於檢測網絡上的ARP攻擊很是實用。

不少其它信息請參閱:Arpwatch to Monitor Ethernet Activity

16. Suricata – 網絡安全監控

Suricata是一個開源的高性能網絡安全、入侵檢測和反監測工具,可以執行Linux、FreeBSD和Windows上。非營利組織OISF(Open Information Security Foundation)開發並擁有其版權。

不少其它信息請參閱:Suricata – A Network Intrusion Detection and Prevention System

17. VnStat PHP – 網絡流量監控

VnStat PHP是流行網絡工具」vnstat」的基於web的前端呈現。VnStat PHP將網絡使用狀況呈現在美麗的圖形界面中。

他可以顯示以小時、日、月計的上傳和下載流量並輸出總結報告。

不少其它信息請參閱:VnStat PHP – Monitoring Network Bandwidth

18. Nagios – 網絡/server監控

Nagios是率先而強大的開源監控系統,他可以讓網絡/系統管理員在問題影響到正常的業務以前發現並解決它們。

有了Nagios系統。管理員可以 在單個窗體內遠程檢測Linux、Windows、開關、路由器和打印機。

它可以危急警告並指出系統/server是否有異常。這可以間接幫助你在問題發生以前 採取搶救措施。

不少其它信息請參閱:Install Nagios Monitoring System to Monitor Remote Linux/Windows Hosts

咱們想知道:你在用什麼監控程序來監控Linuxserver的性能呢?假設咱們在上面錯過了你以爲重要的工具,請在評論中告訴咱們,不要忘了分享它!


來源:http://www.kuqin.com/shuoit/20140219/338066.html

相關文章
相關標籤/搜索