nethogs

nethogs

终端下的网络流量监控工具

补充说明

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

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

来自NetHogs项目网站:

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

本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

语法

nethogs(选项)(参数)

选项

usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
  -V : 打印版本。
  -h : 打印此帮助。
  -b : bughunt模式 - 暗示tracemode。
  -d : 延迟更新刷新率(以秒为单位)。 默认值为1。
  -v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。
  -c : 更新次数。 默认为0(无限制)。
  -t : tracemode.
  -p : 煽动混乱模式(不推荐)。
  -s : 按发送列排序输出。
  -a : 监控所有设备,甚至环回/停止。
  device : 要监控的设备。 默认是所有接口启动和运行,不包括环回

当nethogs运行时,按:
  q:退出
  s:按SENT流量排序
  r:按RECEIVE流量排序
  m:在总(KB,B,MB)和KB / s模式之间切换

其他参数和用法

-d : 刷新间隔
-h : 帮助
-p : promiscious 模式
-t : trace模式 
-V : 版本

交互命令

以下是NetHogs的一些交互命令(键盘快捷键)

  • m : 修改单位
  • r : 按流量排序
  • s : 按发送流量排序
  • q : 退出命令提示符

安装

在RHEL、CentOS和Fedora下安装NetHogs

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

yum install nethogs

在Ubuntu、Linux mint和Debian下安装NetHogs

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

$ sudo apt-get install nethogs

NetHogs用法

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

nethogs

在Debian/Ubuntu/Linux Mint下要执行NetHogs你必须拥有root权限:

$ sudo nethogs

!nethogs

Ubuntu 12.10 下的NetHogs预览

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

NetHogs 命令行参数

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

nethogs -d 5
$ sudo nethogs -d 5

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

nethogs eth0
$ sudo nethogs eth0

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

nethogs eth0 eth1
$ sudo nethogs eth0 eth1

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

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/nethogs/

(0)
AuroraAurora站点维系者
上一篇 2024年 1月 10日 下午3:12
下一篇 2024年 1月 10日 下午3:12

相关推荐

  • telinit

    文章目录telinit补充说明语法选项参数EnvironmentFiles telinit 切换当前正在运行系统的运行等级 补充说明 telinit命令 用于切换当前正在运行的Li…

    入门教程 2024年 3月 11日
  • pwconv

    文章目录pwconv补充说明语法实例 pwconv 用来开启用户的投影密码 补充说明 pwconv命令 用来开启用户的投影密码。Linux系统里的用户和群组密码,分别存放在名称为p…

    入门教程 2024年 3月 1日
  • iOS定位操作

    文章目录IOS定位操作简介实例步骤输出 IOS定位操作 简介 在IOS中通过CoreLocation定位,可以获取到用户当前位置,同时能得到装置移动信息。 实例步骤 1、创建一个简…

    2023年 4月 1日
  • compress

    文章目录compress补充说明语法选项参数实例 compress 使用Lempress-Ziv编码压缩数据文件 补充说明 compress命令 使用“Lempress-Ziv”编…

    入门教程 2023年 12月 7日
  • Java 重写(Override)与重载(Overload)

    文章目录重写(Override)TestDog.java 文件代码:TestDog.java 文件代码:方法的重写规则Super 关键字的使用TestDog.java 文件代码:重…

    2023年 3月 9日
  • cut

    文章目录cut补充说明语法选项参数实例指定字段的字符或者字节范围 cut 连接文件并打印到标准输出设备上 补充说明 cut 命令 用来显示行中的指定部分,删除文件中指定字段。cut…

    入门教程 2023年 12月 7日
  • objdump

    文章目录objdump补充说明选项实例 objdump 显示二进制文件信息 补充说明 objdump命令 是用查看目标文件或者可执行的目标文件的构成的gcc工具。 选项 -a –…

    入门教程 2024年 3月 11日
  • vgextend

    文章目录vgextend补充说明语法选项参数实例 vgextend 向卷组中添加物理卷 补充说明 vgextend命令 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的…

    入门教程 2024年 3月 11日
  • gzip

    文章目录gzip补充说明语法选项参数实例 gzip 用来压缩文件 补充说明 gzip命令 用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”…

    入门教程 2023年 12月 14日
  • Helm | Helm 仓库列表

    文章目录helm repo list可选项从父命令继承的命令请参阅 helm repo list 列举chart仓库 可选项 -h, –help help for list -o…

    入门教程 2023年 12月 14日

发表回复

登录后才能评论
Translate »