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

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

2、下載nethogs
因?yàn)?.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
#默認(rèn)安裝好后的路徑是/usr/local/sbin/nethogs
4、測(cè)試運(yùn)行:
- # nethogs
用法
1、命令行參數(shù)

2、實(shí)例:
- 實(shí)例1:設(shè)置5秒鐘刷新一次,通過-d來指定刷新頻率
- # nethogs -d 5
- 實(shí)例2:監(jiān)視eth0網(wǎng)絡(luò)帶寬
- # nethogs eth0
- 實(shí)例3:同時(shí)監(jiān)視eth0和eth1接口
- # nethogs eth0 eth1
3、交互命令:
以下是NetHogs的一些交互命令(鍵盤快捷鍵)
m : 修改單位
r : 按流量排序
s : 按發(fā)送流量排序
q : 退出命令提示符
關(guān)于NetHogs命令行工具的完整參數(shù)列表,可以參考NetHogs的手冊(cè),使用方法是在終端里輸入man nethogs。