Linux操作系统在网络上有大量的开源网络监控工具。 再说了,你可以使用iftop命令来检查带宽使用, netstat命令看到接口统计数据或报告top命令看您的系统上运行的进程。 但是,如果你真正需要的东西,可以让你每个进程使用的网络带宽的实时统计,然后NetHogs就是你应该寻找的唯一工具。
NetHogs - 网络带宽监控
什么是NetHogs?
NetHogs是用于每个进程或应用程序使用的显示器实时网络通信带宽的开放源码命令行程序(类似于Linux的顶部命令)。
从NetHogs项目页
NetHogs是一个小的“净顶”工具。 与其他大多数工具一样,每个协议或每个子网不会中断流量,而是按流程对带宽进行分组。 NetHogs不依赖于要加载的特殊内核模块。 如果突然有很多网络流量,您可以启动NetHogs,并立即看到哪个PID导致此。 这使得很容易识别已经疯狂并突然占用带宽的程序。
本文将介绍如何安装,并找出每个进程的网络带宽使用实时用在Unix / Linux的操作系统nethogs工具。
在RHEL,CentOS和Fedora中安装NetHogs
要安装nethogs,您必须启用EPEL软件库在你的Linux系统,然后运行下面的yum命令下载并安装nethogs包。
# yum install nethogs
示例输出
[root@youcl ~]# yum -y install nethogs Loaded plugins: fastestmirror, 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.i686 0: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 28 k Transaction Summary =========================================================================================================== Install 1 Package(s) Total download size: 28 k Installed size: 50 k Downloading Packages: nethogs-0.8.0-1.el6.i686.rpm | 28 kB 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.i686 0:0.8.0-1.el6 Complete!
在Ubuntu,Linux Mint和Debian中安装NetHogs
要安装nethogs,键入下面的apt-get命令来安装nethogs包。
$ sudo apt-get install nethogs
示例输出
youcl@youcl:~$ sudo apt-get install nethogs [sudo] password for youcl: 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.1 kB of archives. After this operation, 100 kB 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.1 kB in 1s (19.8 kB/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 for man-db ... Setting up nethogs (0.8.0-1) ...
使用NetHogs实用程序
要运行nethogs实用程序,请在基于red-hat的系统下键入以下命令。
# nethogs
要执行它,你将必须具有root权限,因此如图所示sudo命令运行。
$ sudo nethogs
示例预览:
NetHogs在CentOS 6.3上预览
NetHogs在Ubuntu 12.10上预览
正如所看到的在发送上述和接收线表示的通信量正在使用每个进程。 总发送和接收在底部计算带宽的使用情况。 您可以使用下面讨论的交互式控件来排序和更改顺序。
NetHogs命令行选项
以下是nethogs命令行选项。 使用“-d”添加刷新率和“ 设备名称 ”监视特定某一设备或设备的带宽(默认值是为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 : delay for refresh rate. -h : display available commands usage. -p : sniff in promiscious mode (not recommended). -t : tracemode. -V : prints Version info.
NetHogs交互式控件
以下是nethogs计划的一些有用的交互式控制( 键盘快捷键 )。
-m : Change the units displayed for the bandwidth in units like KB/sec -> KB -> B-> MB. -r : Sort by magnitude of respectively traffic. -s : Sort by magnitude of sent traffic. -q : Hit quit to the shell prompt.
对于nethogs实用的命令行选项的完整列表,请查看使用命令从终端' 人nethogs'或'Sudo人nethogs'的nethogs手册页。 欲了解更多信息,请访问Nethogs项目主页。