詳解Linux工具Nethogs按進程監控網絡帶寬
概述
目前Linux系統有很多開源網絡監視工具.比如說,你可以用命令iftop來檢查帶寬使用情況. netstat用來查看接口統計報告,還有top監控系統當前運行進程.但是如果你想要找一個能夠按進程實時統計網絡帶寬利用率的工具,那么NetHogs值得一看。
NetHogs是一個小型的net top工具,不像大多數工具那樣拖慢每個協議或者是每個子網的速度而是按照進程進行帶寬分組.NetHogs不需要依賴載入某個特殊的內核模塊. 如果發生了網絡阻塞你可以啟動NetHogs立即看到哪個PID造成的這種狀況.這樣就很容易找出哪個程序跑飛了然后突然占用你的帶寬.
簡單地說,可以通過nethogs查看linux下進程的流量。

安裝部署
1、 編譯安裝nethogs依賴包,centos默認rpm倉沒有nethogs的包,所以需要我們手動編譯。nethogs編譯依賴2個庫,在編譯前需要安裝下
- # yum install libpcap libpcap-devel gcc* ncurses*

2、下載nethogs
因為0.8存在bug(creating socket failed while establishing local IP - are you root?),所以這里就用0.81版本了
- # wget -c
- https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz

3、編譯安裝
- # tar -xvf v0.8.1.tar.gz
- # cd nethogs-0.8.1/
- # make && make install
#默認安裝好后的路徑是/usr/local/sbin/nethogs
4、測試運行:
- # nethogs

用法
1、命令行參數

2、實例:
- 實例1:設置5秒鐘刷新一次,通過-d來指定刷新頻率
- # nethogs -d 5
- 實例2:監視eth0網絡帶寬
- # nethogs eth0
- 實例3:同時監視eth0和eth1接口
- # nethogs eth0 eth1

3、交互命令:
以下是NetHogs的一些交互命令(鍵盤快捷鍵)
m : 修改單位
r : 按流量排序
s : 按發送流量排序
q : 退出命令提示符
關于NetHogs命令行工具的完整參數列表,可以參考NetHogs的手冊,使用方法是在終端里輸入man nethogs。





















