有很多适用于Linux系統的開源網絡監視工具.比如說,你可以用指令iftop來檢查帶寬使用情況. netstat用來檢視接口統計報告,還有top監控系統目前運作程序.但是如果你想要找一個能夠按程序實時統計網絡帶寬使用率的工具,那麼NetHogs值得一看.

什麼是NetHogs?
NetHogs 是一個開源的指令行工具(類似于Linux的top指令),用來按程序或程式實時統計網絡帶寬使用率.
來自NetHogs項目網站:
NetHogs是一個小型的net top工具,不像大多數工具那樣拖慢每個協定或者是每個子網的速度而是按照程序進行帶寬分組.NetHogs不需要依賴載入某個特殊的核心子產品. 如果發生了網絡阻塞你可以啟動NetHogs立即看到哪個PID造成的這種狀況.這樣就很容易找出哪個程式跑飛了然後突然占用你的帶寬.
本文為你介紹如何在Unix/Linux作業系統下如何安裝和使用NetHogs按程序監控網絡帶寬使用率。
在RHEL,CentOS和Fedora下安裝NetHogs:
要安裝NetHogs,你必須要啟用你所用Linux下的EPEL源.然後運作下面的yum指令下載下傳安裝NetHogs包.
# yum install nethogs
在Ubuntu, Linux mint和Debian下安裝NetHogs:
鍵入apt-get指令安裝NetHogs包
$ sudo apt-get install nethogs
NetHogs用法
在基于RedHat系統下鍵入如下指令啟動NetHogs工具.
# nethogs
在Debian/Ubuntu/Linux Mint下要執行NetHogs你必須擁有root權限:
$ sudo nethogs
Ubuntu 12.10 下的NetHogs預覽
正如上圖所示, send列和received列顯示的是按照每個程序的流量統計.總的收發資料帶寬在最下方,而且可以用互動指令控制排序,下面将要讨論這些互動指令:
NetHogs 指令行參數
以下就是NetHogs指令行的參數,用
-d
來添加重新整理頻率參數,
device name
用來檢測給定的某個或者某些裝置的帶寬(預設是eth0).例如:設定5秒鐘的重新整理頻率,鍵入如下指令即可:
# nethogs -d 5
$ sudo nethogs -d 5
如果隻用來監視裝置(eth0)的網絡帶寬可以使用如下指令:
# nethogs eth0
$ sudo nethogs eth0
如果要同時監視eth0和eth1接口,使用以下指令即可:
# nethogs eth0 eth1
$ sudo nethogs eth0 eth1
其他參數和用法
-d : 重新整理間隔
-h : 幫助
-p : promiscious 模式
-t : trace模式
-V : 版本
互動指令
以下是NetHogs的一些互動指令(鍵盤快捷鍵)
- m : 修改機關
- r : 按流量排序
- s : 按發送流量排序
- q : 退出指令提示符
關于NetHogs指令行工具的完整參數清單,可以參考NetHogs的手冊,使用方法是在終端裡輸入
man nethogs
或者
sudo man nethogs
,更多資訊請參考
NetHogs項目首頁.