Linux服務器上監控網絡帶寬的18個常用命令

本文介紹了一些可以用來監控網絡使用情況的Linux命令行工具。這些工具可以監控通過網絡接口傳輸的數據,并測量目前哪些數據所傳輸的速度。入站流量和出站流量分開來顯示。

作者:布加迪編譯來源:51CTO.com|2014-04-11 10:10
移動端
收藏
分享

?

【51CTO精選譯文】本文介紹了一些可以用來監控網絡使用情況的Linux命令行工具。這些工具可以監控通過網絡接口傳輸的數據,并測量目前哪些數據所傳輸的速度。入站流量和出站流量分開來顯示。

一些命令可以顯示單個進程所使用的帶寬。這樣一來,用戶很容易發現過度使用網絡帶寬的某個進程。

這些工具使用不同的機制來制作流量報告。nload等一些工具可以讀取"proc/net/dev"文件,以獲得流量統計信息;而一些工具使用pcap庫來捕獲所有數據包,然后計算總數據量,從而估計流量負載。

下面是按功能劃分的命令名稱。

  • 監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
  • 監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
  • 每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
  • 每個進程的帶寬使用――nethogs

1. nload

nload是一個命令行工具,讓用戶可以分開來監控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調整。用起來很簡單,不支持許多選項。

所以,如果你只需要快速查看總帶寬使用情況,無需每個進程的詳細情況,那么nload用起來很方便。

  1. $?nload?

安裝nload:Fedora和Ubuntu在默認軟件庫里面就有nload。CentOS用戶則需要從Epel軟件庫獲得nload。

  1. #?fedora或centos?
  2. $?yum?install?nload?-y?
  3. #?ubuntu/debian?
  4. $?sudo?apt-get?install?nload?

2. iftop

iftop可測量通過每一個套接字連接傳輸的數據;它采用的工作方式有別于nload。iftop使用pcap庫來捕獲進出網絡適配器的數據包,然后匯總數據包大小和數量,搞清楚總的帶寬使用情況。

雖然iftop報告每個連接所使用的帶寬,但它無法報告參與某個套按字連接的進程名稱/編號(ID)。不過由于基于pcap庫,iftop能夠過濾流量,并報告由過濾器指定的所選定主機連接的帶寬使用情況。

  1. $?sudo?iftop?-n?

n選項可以防止iftop將IP地址解析成主機名,解析本身就會帶來額外的網絡流量。

安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認軟件庫獲得它。CentOS用戶可以從Epel獲得它。

  1. #?fedora或centos?
  2. yum?install?iftop?-y?
  3. #?ubuntu或?debian?
  4. $?sudo?apt-get?install?iftop?

3. iptraf

iptraf是一款交互式、色彩鮮艷的IP局域網監控工具。它可以顯示每個連接以及主機之間傳輸的數據量。下面是屏幕截圖。

  1. $?sudo?iptraf?

安裝iptraf:

  1. #?Centos(基本軟件庫)?
  2. $?yum?install?iptraf?
  3. #?fedora或centos(帶epel)?
  4. $?yum?install?iptraf-ng?-y?
  5. #?ubuntu或debian?
  6. $?sudo?apt-get?install?iptraf?iptraf-ng?

4. nethogs

nethogs是一款小巧的"net top"工具,可以顯示每個進程所使用的帶寬,并對列表排序,將耗用帶寬最多的進程排在最上面。萬一出現帶寬使用突然激增的情況,用戶迅速打開nethogs,就可以找到導致帶寬使用激增的進程。nethogs可以報告程序的進程編號(PID)、用戶和路徑。

  1. $?sudo?nethogs?

安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認軟件庫獲得。CentOS用戶則需要Epel。

  1. #?ubuntu或debian(默認軟件庫)?
  2. $?sudo?apt-get?install?nethogs?
  3. #?fedora或centos(來自epel)?
  4. $?sudo?yum?install?nethogs?-y?

5. bmon

bmon(帶寬監控器)是一款類似nload的工具,它可以顯示系統上所有網絡接口的流量負載。輸出結果還含有圖表和剖面,附有數據包層面的詳細信息。

安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認軟件庫來安裝。CentOS用戶則需要安裝repoforge,因為Epel里面沒有bmon。

  1. #?ubuntu或debian?
  2. $?sudo?apt-get?install?bmon?
  3. #?fedora或centos(來自repoforge)?
  4. $?sudo?yum?install?bmon?

bmon支持許多選項,能夠制作HTML格式的報告。欲知更多信息,請參閱參考手冊頁。

6. slurm

slurm是另一款網絡負載監控器,可以顯示設備的統計信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡單,無法顯示關于網絡負載的任何更進一步的詳細信息。

  1. $?slurm?-s?-i?eth0?

安裝slurm

  1. #?debian或ubuntu?
  2. $?sudo?apt-get?install?slurm?
  3. #?fedora或centos?
  4. $?sudo?yum?install?slurm?-y?

7. tcptrack

tcptrack類似iftop,使用pcap庫來捕獲數據包,并計算各種統計信息,比如每個連接所使用的帶寬。它還支持標準的pcap過濾器,這些過濾器可用來監控特定的連接。

安裝tcptrack:Ubuntu、Debian和Fedora在默認軟件庫里面就有它。CentOS用戶則需要從RepoForge獲得它,因為Epel里面沒有它。

  1. #?ubuntu,?debian?
  2. $?sudo?apt-get?install?tcptrack?
  3. #?fedora,?centos(來自repoforge軟件庫)?
  4. $?sudo?yum?install?tcptrack?

8. vnstat

vnstat與另外大多數工具有點不一樣。它實際上運行后臺服務/守護進程,始終不停地記錄所傳輸數據的大小。之外,它可以用來制作顯示網絡使用歷史情況的報告。

  1. $?service?vnstat?status?
  2. *?vnStat?daemon?is?running?

運行沒有任何選項的vnstat,只會顯示自守護進程運行以來所傳輸的數據總量。

  1. $?vnstat?
  2. Database?updated:?Mon?Mar?17?15:26:59?2014?
  3. eth0?since?06/12/13?
  4. rx:??135.14?GiB??????tx:??35.76?GiB??????total:??170.90?GiB?
  5. monthly?
  6. rx??????|?????tx??????|????total????|???avg.?rate?
  7. ?
  8. ------------------------+-------------+-------------+-------------?
  9. Feb?'14??????8.19?GiB??|????2.08?GiB??|???10.27?GiB?|???35.60?kbit/s?
  10. Mar?'14??????4.98?GiB??|????1.52?GiB??|????6.50?GiB?|???37.93?kbit/s?
  11. ------------------------+-------------+-------------+-------------?
  12. estimated???????9.28?GiB?|????2.83?GiB??|???12.11?GiB?|?
  13. daily?
  14. rx??????|?????tx??????|????total????|???avg.?rate?
  15. ------------------------+-------------+-------------+-------------?
  16. yesterday?????236.11?MiB?|???98.61?MiB?|??334.72?MiB?|???31.74?kbit/s?
  17. today????128.55?MiB?|???41.00?MiB?|??169.56?MiB?|???24.97?kbit/s?
  18. ------------------------+-------------+-------------+-------------?
  19. estimated???????199?MiB?|??????63?MiB?|?????262?MiB?|?

想實時監控帶寬使用情況,請使用"-l"選項(實時模式)。然后,它會顯示入站數據和出站數據所使用的總帶寬量,但非常精確地顯示,沒有關于主機連接或進程的任何內部詳細信息。

  1. $?vnstat?-l?-i?eth0?
  2. Monitoring?eth0...????(press?CTRL-C?to?stop)?
  3. rx:???????12?kbit/s????10?p/s??????????tx:???????12?kbit/s????11?p/s?

vnstat更像是一款制作歷史報告的工具,顯示每天或過去一個月使用了多少帶寬。它并不是嚴格意義上的實時監控網絡的工具。

vnstat支持許多選項,支持哪些選項方面的詳細信息請參閱參考手冊頁。

安裝vnstat

  1. #?ubuntu或debian?
  2. $?sudo?apt-get?install?vnstat?
  3. #?fedora或?centos(來自epel)?
  4. $?sudo?yum?install?vnstat?

9. bwm-ng

bwm-ng(下一代帶寬監控器)是另一款非常簡單的實時網絡負載監控工具,可以報告摘要信息,顯示進出系統上所有可用網絡接口的不同數據的傳輸速度。

  1. $?bwm-ng?
  2. bwm-ng?v0.6?(probing?every?0.500s),?press?'h'?for?help?
  3. input:?/proc/net/dev?type:?rate?
  4. /?????????iface???????????????????Rx???????????????????Tx????????????????T?
  5. ot=================================================================?
  6. ==???????????eth0:???????????0.53?KB/s????????????1.31?KB/s????????????1.84?
  7. KB?????????????lo:???????????0.00?KB/s????????????0.00?KB/s????????????0.00?
  8. KB-------------------------------------------------------------------------------------------------------------?
  9. total:???????????0.53?KB/s????????????1.31?KB/s????????????1.84?
  10. KB/s?

如果控制臺足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。

  1. $?bwm-ng?-o?curses2?

安裝bwm-ng:在CentOS上,可以從Epel來安裝bwm-ng。

  1. #?ubuntu或debian?
  2. $?sudo?apt-get?install?bwm-ng?
  3. #?fedora或centos(來自epel)?
  4. $?sudo?apt-get?install?bwm-ng?

10. cbm:Color Bandwidth Meter

這是一款小巧簡單的帶寬監控工具,可以顯示通過諸網絡接口的流量大小。沒有進一步的選項,僅僅實時顯示和更新流量的統計信息。

  1. $?sudo?apt-get?install?cbm?

11. speedometer

這是另一款小巧而簡單的工具,僅僅繪制外觀漂亮的圖形,顯示通過某個接口傳輸的入站流量和出站流量。

  1. $?speedometer?-r?eth0?-t?eth0?

安裝speedometer

  1. #?ubuntu或debian用戶?
  2. $?sudo?apt-get?install?speedometer?

12. pktstat

pktstat可以實時顯示所有活動連接,并顯示哪些數據通過這些活動連接傳輸的速度。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會顯示關于HTTP請求的詳細信息。

  1. $?sudo?pktstat?-i?eth0?-nt?
  2. $?sudo?apt-get?install?pktstat?

13. netwatch

netwatch是netdiag工具庫的一部分,它也可以顯示本地主機與其他遠程主機之間的連接,并顯示哪些數據在每個連接上所傳輸的速度。

  1. $?sudo?netwatch?-e?eth0?-nt?
  2. $?sudo?apt-get?install?netdiag?

14. trafshow

與netwatch和pktstat一樣,trafshow也可以報告當前活動連接、它們使用的協議以及每條連接上的數據傳輸速度。它能使用pcap類型過濾器,對連接進行過濾。

只監控TCP連接

  1. $?sudo?trafshow?-i?eth0?tcp?
  2. $?sudo?apt-get?install?netdiag?

15. netload

netload命令只顯示關于當前流量負載的一份簡短報告,并顯示自程序啟動以來所傳輸的總字節量。沒有更多的功能特性。它是netdiag的一部分。

  1. $?netload?eth0?
  2. $?sudo?apt-get?install?netdiag?

16. ifstat

ifstat能夠以批處理式模式顯示網絡帶寬。輸出采用的一種格式便于用戶使用其他程序或實用工具來記入日志和分析。

  1. $?ifstat?-t?-i?eth0?0.5?
  2. Time???????????eth0?
  3. HH:MM:SS???KB/s?in??KB/s?out?
  4. 09:59:21??? ???2.62??????2.80?
  5. 09:59:22??? ???2.10??????1.78?
  6. 09:59:22??? ???2.67??????1.84?
  7. 09:59:23???? ??2.06??????1.98?
  8. 09:59:23???? ??1.73??????1.79?

安裝ifstat:Ubuntu、Debian和Fedora用戶在默認軟件庫里面就有它。CentOS用戶則需要從Repoforge獲得它,因為Epel里面沒有它。

  1. #?ubuntu,?debian?
  2. $?sudo?apt-get?install?ifstat?
  3. #?fedora,?centos(Repoforge)?
  4. $?sudo?yum?install?ifstat?

17. dstat

dstat是一款用途廣泛的工具(用python語言編寫),它可以監控系統的不同統計信息,并使用批處理模式來報告,或者將相關數據記入到CSV或類似的文件。這個例子顯示了如何使用dstat來報告網絡帶寬。

安裝dstat

  1. $?dstat?-nt?
  2. -net/total-?----system----?
  3. recv??send|?????time?
  4. 0?????0?|23-03?10:27:13?
  5. 1738B?1810B|23-03?10:27:14?
  6. 2937B?2610B|23-03?10:27:15?
  7. 2319B?2232B|23-03?10:27:16?
  8. 2738B?2508B|23-03?10:27:17?

18. collectl

collectl以一種類似dstat的格式報告系統的統計信息;與dstat一樣,它也收集關于系統不同資源(如處理器、內存和網絡等)的統計信息。這里給出的一個簡單例子顯示了如何使用collectl來報告網絡使用/帶寬。

  1. $?collectl?-sn?-oT?-i0.5?
  2. waiting?for?0.5?second?sample...?
  3. #?????????<----------Network---------->?
  4. #Time???????KBIn??PktIn??KBOut??PktOut?
  5. 10:32:01??????40?????58?????43??????66?
  6. 10:32:01??????27?????58??????3??????32?
  7. 10:32:02???????3?????28??????9??????44?
  8. 10:32:02???????5?????42?????96??????96?
  9. 10:32:03???????5?????48??????3??????28?

安裝collectl

  1. #?Ubuntu/Debian用戶?
  2. $?sudo?apt-get?install?collectl?
  3. #Fedora?
  4. $?sudo?yum?install?collectl?

結束語

上述幾個使用方便的命令可以迅速檢查Linux服務器上的網絡帶寬使用情況。不過,這些命令需要用戶通過SSH登錄到遠程服務器。另外,基于Web的監控工具也可以用來實現同樣的任務。

ntop和darkstat是面向Linux系統的其中兩個基本的基于Web的網絡監控工具。除此之外還有企業級監控工具,比如nagios,它們提供了一批功能特性,不僅僅可以監控服務器,還能監控整個基礎設施。

原文鏈接:http://www.binarytides.com/linux-commands-monitor-network/

http://os.51cto.com/art/201404/435279.htm

轉載于:https://www.cnblogs.com/fatt/p/6638252.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259315.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259315.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

strcpy和memcpy的區別

轉載&#xff1a;http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.html strcpy與memcpy都是標準的C庫函數&#xff0c;strcpy提供了字符串的復制。即strcpy只用于字符串復制&#xff0c;并且它不僅復制字符串內容之外&#xff0c;還會復制字符串的結束符。 已知…

js正則表達式語法

1. 正則表達式規則 1.1 普通字符 字母、數字、漢字、下劃線、以及后邊章節中沒有特殊定義的標點符號&#xff0c;都是"普通字符"。表達式中的普通字符&#xff0c;在匹配一個字符串的時候&#xff0c;匹配與之同樣的一個字符。 舉例1&#xff1a;表達式 "c&q…

計算機常見屏幕英語語句,計算機常見屏幕英語

計算機系統常見的屏幕英語對照,。、計算機常見屏幕英語(SCREEN ENGLISH)access 訪問 data 數據 hard disk 硬盤 files 文件directory 目錄 delete 刪除(同&#xff1a;remove) exists 存在 name 名稱 read-only 只讀 change 修改&#xff0c;改變 save 保存 password 密碼 conn…

[轉]Windows Phone 7程序設計”完全版電子書可以免費下載了

本文轉自&#xff1a;http://www.cnblogs.com/salam/archive/2010/10/29/1864246.html 現在學習Windows Phone 7開發資料十分有限&#xff0c;除了MSDN的官方開發文檔外和一些博客外&#xff0c;幾無其他的學習渠道。幸運地是美國的資深程序員兼作家Charles Petzold為大家免費放…

土豆春季實習試題之慘烈教訓

今天做土豆的春季C實習生招聘試題&#xff0c;很多不應該錯的錯了&#xff0c;在此挑出一些重要的錯誤&#xff0c;供自己參考&#xff0c;以免以后再犯。 一、一道編程題&#xff0c;很簡單&#xff0c;但是錯了。 題目&#xff1a; 輸入一個數組&#xff0c;求它的逆序數組…

linux-redhat替換yum網絡源為centos網絡源

2019獨角獸企業重金招聘Python工程師標準>>> 1.為什么要替換 redhat系統使用yum命令安裝軟件時會出現This system is not registered with RHN. RHN support will be disabled. 原因是redhat的yum安裝軟件需要注冊&#xff0c;是收費的。而centos的yum源是免費的。這…

計算機如何打開無線網絡適配器,win7系統下網絡適配器打不開怎么解決

通常情況下我們的電腦中都會有一個網絡適配器&#xff0c;這是計算機聯網的設備&#xff0c;不過最近有深度技術win7旗艦版系統用戶卻遇到了網絡適配器打不開的情況&#xff0c;該怎么辦呢&#xff0c;接下來系統城小編就給大家分享一下win7系統下網絡適配器打不開的具體解決方…

cf13C Sequence(DP)

題意&#xff1a; N個數。a1...aN。 對于每個數而言&#xff0c;每一步只能加一或減一。 問最少總共需要多少步使得新序列是非遞減序列。 N (1?≤?N?≤?5000) 思路&#xff1a; *一個還不知道怎么證明的結論&#xff08;待證&#xff09;&#xff1a;最后的新序列b1...bN中…

【華為OD機試真題2023CD卷 JAVAJS】求幸存數之和

華為OD2023(C&D卷)機試題庫全覆蓋,刷題指南點這里 求幸存數之和 知識點數組 時間限制:1s 空間限制:256MB 限定語言:不限 題目描述: 給一個正整數列 nums,一個跳數 jump,及幸存數量 left。運算過程為:從索引為0的位置開始向后跳,中間跳過 J 個數字,命中索引為J+…

JavaScript編碼規范

1. 變量命名規范 變量名包括全局變量&#xff0c;局部變量&#xff0c;類變量&#xff0c;函數參數等等&#xff0c;他們都屬于這一類。 基本規范 變量命名都以類型前綴有意義的單詞組成&#xff0c;單詞首字母都需要大寫。例如&#xff1a;sUserName&#xff0c;nCount。 前綴…

大數據相加(轉載)

轉載&#xff1a;http://www.du52.com/text.php?id411 在這個大數據的年代里&#xff0c;我們不可避免會遇到兩個超越正常數據類型&#xff08;如int,long,long long&#xff09;的整數相加。顯然兩個大數據已經不能使用傳統的加號直接相加&#xff0c;但是相加的原理仍然是不…

微型計算機中使用的光盤應屬于什么媒體,計算機應用基礎練習題

計算機應用基礎一、判斷題1、微型機中硬盤工作時&#xff0c;應特別注意避免強烈震動【是】2、在Windows中&#xff0c;文件夾或文件的換名只有一種方法【否】3、用戶在連接網絡時&#xff0c;只可以使用域名&#xff0c;不可以使用IP地址【否】4、在WORD2007中&#xff0c;您可…

七天學會SALTSTACK自動化運維 (3)

七天學會SALTSTACK自動化運維 (3) 導讀SLSTOP.SLSMINION選擇器SLS文件的編譯總結參考鏈接導讀 SLS SLS (aka SaLt State file) 是 salkstack 中非常基礎和重要的一種配置文件. 重要程度僅次于minion和 master 的主配置文件(或者說是一種數據結構&#xff0c;使用yaml編寫), 因…

qt-embedded-linux-opensource-src-4.5.3移植到s3c6410

首先要有配置好的環境&#xff0c;本文使用的編譯環境如下&#xff1a; 主機系統&#xff1a;Ubuntu 9.10 主機編譯器&#xff1a;gcc 版本 4.4.1 交叉編譯器&#xff1a;arm-linux-gcc-4.0.1 軟件資源&#xff1a;qt-embedded-linux-opensource-src-4.5.3.tar.gz qt-x11-opens…

C++ 類中特殊的成員變量(常變量、引用、靜態)的初始化方法

<p style"line-height: 19px; margin: 10px auto; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px;">有些成員變量的數據類型比較特別&#xff0c;它們的初始化方式也和普通數據類型的成員變量有所不同…

【Intellij Idea】設置JDK

1&#xff0c;File-->Project Structure 說明&#xff1a;可以設置整個工程的JDK&#xff0c;也設置每個modules的JDK,但是一般整個工程的JDK. 2&#xff0c;或者通過快捷鍵&#xff1a;ctrlaltshifts 轉載于:https://www.cnblogs.com/august-shi/p/6655469.html

c#操作html dom元素,C#獲取與修改HTML DOM元素信息

用C#和JavaScript交互首先要解決C#讀取HTML DOM元素的問題。 在System.Windows.Browser命名空間下&#xff0c;有一個HtmlDocument、HtmlPage、HtmlElement等類&#xff0c;可以用來讀取HTML DOM元素。其讀取方法和JavaScript如出一轍。引用內容&#xff1a; //初始化一個docum…

Hibernate之工具類HibernateUtil

原創文章&#xff0c;轉載請注明&#xff1a;Hibernate之工具類HibernateUtil By Lucio.Yang 1.最簡單的工具類&#xff0c;實現SessionFactory的單例共享&#xff0c;session的管理 package com.cc.hibernate;import org.hibernate.Session; import org.hibernate.SessionFac…

c++讀取文件–結束條件的判斷

轉載&#xff1a;http://blog.sina.com.cn/s/blog_623e3c050100neei.html 在使用C/C讀文件的時候&#xff0c;一定都使用過eof&#xff08;&#xff09;這個函數來判斷文件是否為空或者是否讀到文件結尾了&#xff0c;也會在使用這個函數的過程中遇到一些問題&#xff0c;如不…

繪圖用計算機配置要求,繪圖筆記本電腦基本配置要求 繪圖筆記本推薦

現在很多工業圖、工程圖都需要用電腦來話&#xff0c;比如CAD、PS、三維畫圖這些軟件對電腦的配置要求還是比較高的&#xff0c;還有一些對色彩要求高的動畫軟件&#xff0c;那就更加需要配置了&#xff0c;下面小編就來簡單說說繪圖筆記本電腦最基本的配置要求以及繪圖筆記本推…