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

83次阅读
没有评论

共计 3691 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要为大家展示了“Linux 下如何按进程实时统计网络带宽利用率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“Linux 下如何按进程实时统计网络带宽利用率”这篇文章吧。

NetHogs ndash; 网络带宽监控

什么是 NetHogs?

NetHogs 是一个开源的命令行工具(类似于 Linux 的 top 命令),用来按进程或程序实时统计网络带宽使用率。

来自 NetHogs 项目网站:

NetHogs 是一个小型的 rsquo;net top rsquo; 工具, 不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组.NetHogs NetHogs 不需要依赖载入某个特殊的内核模块. 如果发生了网络阻塞你可以启动 NetHogs 立即看到哪个 PID 造成的这种状况. 这样就很容易找出哪个程序跑飞了然后突然占用你的带宽.

这篇文章为你讲解了如何在 Unix/Linux 操作系统下如何安装和使用 NetHogs 按进程监控网络带宽使用率。

在 RHEL,CentOS 和 Fedora 下安装 NetHogs:

要安装 NetHogs, 你必须要启用你所用 Linux 下的 EPEL 源. 然后运行下面的 yum 命令下载安装 NetHogs 包。

# yum install 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

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

$ sudo nethogs

样例预览:

CentOS 6.3 下的 NetHogs 预览

Ubuntu 12.10 下的 NetHogs 预览

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

NetHogs 命令行参数

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

# nethogs -d 5

$ sudo nethogs -d 5

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

# nethogs eth0

  或

$ sudo nethogs eth0

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

# nethogs eth0 eth2

$ sudo nethogs eth0 eth2

其他参数和用法:

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

NetHogs 交互控制

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

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

以上是“Linux 下如何按进程实时统计网络带宽利用率”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计3691字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)