NetHogs:Linux下按进程实时统计网络带宽利用率

系统 Linux
NetHogs 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。本文将讲解如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

网上有很多适用于Linux操作系统的开源网络监视工具。比如说:你可以用命令iftop来检查带宽使用情况、netstat用来查看接口统计报告、还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率,那么NetHogs就是你所需要的***工具。

[[111295]]

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包。

  1. # yum install nethogs 

样例输出:

  1. [root@tecmint~]# yum -y install nethogs 
  2. Loaded plugins:fastest mirror,refresh-packagekit 
  3. Loading mirror speeds from cached hostfile 
  4. *base: mirrors.hns.net.in 
  5. *epel: mirror.nus.edu.sg 
  6. *extras: mirrors.hns.net.in 
  7. *rpmfusion-free-updates: mirrors.ustc.edu.cn 
  8. *rpmfusion-nonfree-updates: mirror.de.leaseweb.net 
  9. *updates: mirrors.hns.net.in 
  10. Setting up Install Process 
  11. Resolving Dependencies 
  12. --> Running transaction check 
  13. ---> Package nethogs.i6860:0.8.0-1.el6 will be installed 
  14. --> Finished Dependency Resolution 
  15. Dependencies Resolved 
  16. =========================================================================================================== 
  17. Package                Arch                Version                    Repository                    Size 
  18. =========================================================================================================== 
  19. Installing: 
  20. nethogs                i686                0.8.0-1.el6                epel                        28k 
  21.   
  22. Transaction Summary 
  23. =========================================================================================================== 
  24. Install       1 Package(s) 
  25. Total download size:28k 
  26. Installed size:50k 
  27. Downloading Packages: 
  28. nethogs-0.8.0-1.el6.i686.rpm                                                        |  28kB     00:00 
  29. Running rpm_check_debug 
  30. Running Transaction Test 
  31. Transaction Test Succeeded 
  32. Running Transaction 
  33.   Installing :nethogs-0.8.0-1.el6.i686                                                          1/1 
  34.   Verifying  :nethogs-0.8.0-1.el6.i686                                                          1/1 
  35. Installed: 
  36.   nethogs.i6860:0.8.0-1.el6 
  37. Complete! 

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

键入apt-get命令安装NetHogs包:

  1. $ sudo apt-get install nethogs 

样例输出

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

NetHogs用法

在基于RedHat系统下键入如下命令启动NetHogs工具。

  1. # nethogs 

要执行NetHogs你必须拥有root权限,即如图所示用sudo命令:

  1. $ sudo nethogs 

样例预览:

2

CentOS 6.3 下的NetHogs预览

3

Ubuntu 12.10 下的NetHogs预览

正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令。

NetHogs 命令行参数

以下就是NetHogs命令行的参数,用’-d’来添加刷新频率参数,`device name` 用来检测给定的某个或者某些设备的带宽(默认是eth0).例如:设置5秒钟的刷新频率,键入如下命令即可:

  1. # nethogs -d 5 

 或

  1. $ sudo nethogs -d 5 

如果只用来监视设备(eth0)的网络带宽可以使用如下命令:

  1. # nethogs eth0 

 或

  1. $ sudo nethogs eth0 

如果要同时监视eth0和eth1接口,使用以下命令即可:

  1. # nethogs eth0 eth1 

 或

  1. $ sudo nethogs eth0 eth1 

其他参数和用法:

  1. -d: delay for refresh rate. 
  2. -h: display available commands usage. 
  3. -p: sniff in promiscious mode (not recommended). 
  4. -t: trace mode. 
  5. -V: prints Version info.  

NetHogs 交互控制

以下是NetHogs的一些很有用的交互控制(键盘快捷键:

  1. -m: Change the units displayed forthe bandwidth inunits like KB/sec->KB->B->MB. 
  2. -r: Sort by magnitude of respectively traffic. 
  3. -s: Sort by magnitude of sent traffic. 
  4. -q: Hit quit tothe shell prompt. 

想要NetHogs命令行工具的完整参数列表请参考NetHogs的手册,使用方法是在终端里输入‘man nethogs‘ 或者 ‘sudo man nethogs‘,更多信息请参考NetHogs项目主页

原文链接: Ravi Saive 翻译: 极客范 LQ

译文链接: http://www.geekfan.net/8019/

责任编辑:黄丹 来源: 极客范
相关推荐

2019-07-04 08:31:04

Linux监控网络

2017-08-25 15:56:54

Linuxproc文件系统CPU利用率

2012-05-08 13:24:45

负载均衡带宽锐捷网络

2010-03-11 16:49:55

Linux CPU利用

2012-03-05 13:03:17

2011-04-02 11:16:16

MRTG监控带宽

2019-08-28 06:58:06

Linux监控脚本Shell

2013-08-21 14:20:50

飞鱼星流控王飞鱼星

2013-03-19 12:23:25

SDN网络利用率网络系统架构

2009-11-11 16:13:19

路由器协议

2018-09-14 08:00:00

LinuxWondershape网络带宽

2018-10-08 10:02:52

LinuxWondershape网络带宽

2019-08-20 10:57:26

MySQL 网络性能

2018-02-24 14:27:09

Linux命令网络带宽

2009-12-17 17:01:41

2019-03-05 15:53:40

Linux服务器CPU

2013-01-04 10:44:31

IBMdW

2017-06-19 17:43:04

网络带宽网络设计

2023-04-04 09:22:50

LinuxCPU命令

2018-11-09 08:12:53

网络带宽传输
点赞
收藏

51CTO技术栈公众号