有不少適用於Linux系統的開源網絡監視工具.好比說,你能夠用命令iftop來檢查帶寬使用狀況. netstat用來查看接口統計報告,還有top監控系統當前運行進程.可是若是你想要找一個可以按進程實時統計網絡帶寬利用率的工具,那麼NetHogs值得一看.segmentfault
NetHogs – 網絡帶寬監控網絡
NetHogs 是一個開源的命令行工具(相似於Linux的top命令),用來按進程或程序實時統計網絡帶寬使用率.工具
來自NetHogs項目網站:網站
NetHogs是一個小型的net top工具,不像大多數工具那樣拖慢每一個協議或者是每一個子網的速度而是按照進程進行帶寬分組.NetHogs不須要依賴載入某個特殊的內核模塊. 若是發生了網絡阻塞你能夠啓動NetHogs當即看到哪一個PID形成的這種情況.這樣就很容易找出哪一個程序跑飛了而後忽然佔用你的帶寬.spa
本文爲你介紹如何在Unix/Linux操做系統下如何安裝和使用NetHogs按進程監控網絡帶寬使用率。操作系統
要安裝NetHogs,你必需要啓用你所用Linux下的EPEL源.而後運行下面的yum命令下載安裝NetHogs包..net
# yum install nethogs
鍵入apt-get命令安裝NetHogs包命令行
$ sudo apt-get install nethogs
在基於RedHat系統下鍵入以下命令啓動NetHogs工具.翻譯
# nethogs
在Debian/Ubuntu/Linux Mint下要執行NetHogs你必須擁有root權限:code
$ sudo nethogs
Ubuntu 12.10 下的NetHogs預覽
正如上圖所示, send列和received列顯示的是按照每一個進程的流量統計.總的收發數據帶寬在最下方,並且能夠用交互命令控制排序,下面將要討論這些交互命令:
如下就是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的一些交互命令(鍵盤快捷鍵)
關於NetHogs命令行工具的完整參數列表,能夠參考NetHogs的手冊,使用方法是在終端裏輸入man nethogs
或者 sudo man nethogs
,更多信息請參考NetHogs項目主頁.
原文 NetHogs – Monitor Per Process Network Bandwidth Usage in Real Time
翻譯 SegmentFault