NetHogs——Linux下按程式實時統計網路頻寬利用率

發表於2014-04-06

網上有很多適用於Linux作業系統的開源網路監視工具.比如說,你可以用命令iftop來檢查頻寬使用情況. netstat用來檢視介面統計報告,還有top監控系統當前執行程式.但是如果你想要找一個能夠按程式實時統計網路頻寬利用率,那麼NetHogs就是你所需要的唯一工具.

1

NetHogs – 網路頻寬監控

什麼是NetHogs?

NetHogs 是一個開源的命令列工具(類似於Linux的top命令),用來按程式或程式實時統計網路頻寬使用率.

來自NetHogs專案網站:

NetHogs是一個小型的’net top’工具,不像大多數工具那樣拖慢每個協議或者是每個子網的速度而是按照程式進行頻寬分組.NetHogs NetHogs不需要依賴載入某個特殊的核心模組. 如果發生了網路阻塞你可以啟動NetHogs立即看到哪個PID造成的這種狀況.這樣就很容易找出哪個程式跑飛了然後突然佔用你的頻寬.

這篇文章為你講解了如何在Unix/Linux作業系統下如何安裝和使用NetHogs按程式監控網路頻寬使用率。

在RHEL,CentOS和Fedora下安裝NetHogs:

要安裝NetHogs,你必須要啟用你所用Linux下的EPEL源.然後執行下面的yum命令下載安裝NetHogs包.

[root@tecmint~]# yum -y install nethogs

Loaded plugins:fastest mirror,refresh-packagekit
Loading mirror speeds from cached hostfile
*base: mirrors.hns.net.in
*epel: mirror.nus.edu.sg
*extras: mirrors.hns.net.in
*rpmfusion-free-updates: mirrors.ustc.edu.cn
*rpmfusion-nonfree-updates: mirror.de.leaseweb.net
*updates: mirrors.hns.net.in
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nethogs.i6860:0.8.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================
Package                Arch                Version                    Repository                    Size
===========================================================================================================
Installing:
nethogs                i686                0.8.0-1.el6                epel                        28k

Transaction Summary
===========================================================================================================
Install       1 Package(s)

Total download size:28k
Installed size:50k
Downloading Packages:
nethogs-0.8.0-1.el6.i686.rpm                                                        |  28kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing :nethogs-0.8.0-1.el6.i686                                                          1/1
  Verifying  :nethogs-0.8.0-1.el6.i686                                                          1/1
 
Installed:
  nethogs.i6860:0.8.0-1.el6
 
Complete!

在Ubuntu, Linux mint和Debian下安裝NetHogs:

鍵入apt-get命令安裝NetHogs包

$ sudo apt-get install nethogs

樣例輸出

tecmint@tecmint:~$ sudo apt-get install nethogs
 
[sudo]password fortecmint:
Reading package lists...Done
Building dependency tree
Reading state information...Done
The following NEW packages will be installed:
  nethogs
0 upgraded,1 newly installed,0 to remove and 318 not upgraded.
Need to get 27.1kB of archives.
After this operation,100kB of additional disk space will be used.
Get: 1 http://in.archive.ubuntu.com/ubuntu/ quantal/universe nethogs i386 0.8.0-1 [27.1 kB]
Fetched 27.1kB in 1s (19.8kB/s) 
Selecting previously unselected package nethogs.
(Reading database... 216058 files and directories currently installed.)
Unpacking nethogs(from .../nethogs_0.8.0-1_i386.deb)...
Processing triggers forman-db...
Setting up nethogs(0.8.0-1)...

NetHogs用法

在基於RedHat系統下鍵入如下命令啟動NetHogs工具.

要執行NetHogs你必須擁有root許可權,即如圖所示用sudo命令

$ sudo nethogs

樣例預覽:

2

CentOS 6.3 下的NetHogs預覽

3

Ubuntu 12.10 下的NetHogs預覽

正如上圖所示, send列和received列顯示的是按照每個程式的流量統計.總的收發資料頻寬在最下方,而且可以用互動命令控制排序,下面將要討論這些互動命令:

NetHogs 命令列引數

以下就是NetHogs命令列的引數,用’-d’來新增重新整理頻率引數,`device name` 用來檢測給定的某個或者某些裝置的頻寬(預設是eth0).例如:設定5秒鐘的重新整理頻率,鍵入如下命令即可:

如果只用來監視裝置(eth0)的網路頻寬可以使用如下命令:

$ sudo nethogs eth0

如果要同時監視eth0和eth1介面,使用以下命令即可:

# nethogs eth0 eth1

 或

其他引數和用法

NetHogs 互動控制

以下是NetHogs的一些很有用的互動控制(鍵盤快捷鍵)

想要NetHogs命令列工具的完整引數列表請參考NetHogs的手冊,使用方法是在終端裡輸入‘man nethogs‘ 或者 ‘sudo man nethogs‘,更多資訊請參考NetHogs專案主頁.


原文連結: Ravi Saive 翻譯: 極客範 LQ
譯文連結: http://www.geekfan.net/8019/

相關文章