Nethogs – 监控每个进程的 Linux 网络流量使用情况
网络上有大量可用于 Linux 操作系统的开源网络监控工具。例如,您可以使用 iftop 命令来监视带宽使用情况,使用 netstat 命令或 ss 命令来查看接口统计信息报告,或者使用 top 命令来监视系统上正在运行的进程。
但是,如果您确实正在寻找可以为您提供每个进程使用情况的网络带宽实时统计信息的工具,那么 NetHogs 是您应该寻找的唯一实用程序。
什么是 NetHogs?
NetHogs是一个开源的命令行程序(类似于Linux的top命令),用于监控Linux中每个进程或应用程序使用的实时网络流量带宽。
来自 NetHogs 项目页面
NetHogs 是一个小型“网顶”工具。它不像大多数工具那样按协议或每个子网分解流量,而是按进程对带宽进行分组。 NetHogs 不依赖于特殊的内核模块来加载。如果突然出现大量网络流量,您可以启动 NetHogs 并立即查看哪个 PID 导致了这种情况。这样可以轻松识别那些疯狂运行并突然占用您带宽的程序。
在本文中,您将学习如何在 Unix/Linux 操作系统下使用 nethogs 实用程序安装并了解每个进程的实时网络带宽使用情况。
如何在 Linux 系统中安装 NetHogs
此 NetHogs 带宽监控解决方案可在多种 Linux 操作系统上使用。根据您运行的 Linux 发行版,您可以通过以下方式之一安装 nethogs:
在 RHEL、CentOS、Rocky Linux 和 AlmaLinux 中安装 NetHogs
要安装 nethogs,您必须在基于 RedHat 的 Linux 发行版下打开 EPEL 存储库,然后运行以下 yum 命令下载并安装 nethogs 软件包,如图所示。
yum install epel-release
yum install nethogs
在 Fedora Linux 上,使用 dnf 命令,如图所示。
dnf install nethogs
在 Ubuntu、Linux Mint 和 Debian 中安装 NetHogs
要安装 nethogs,请键入以下 apt 命令来安装 nethogs 软件包。
sudo apt install nethogs
如何使用 NetHogs 按进程监控带宽
要运行 nethogs 实用程序,请在基于 red-hat 的系统下键入以下命令。
nethogs
在基于 Debian 的 Linux 上,您必须具有 root 权限,因此请使用 sudo 命令运行,如图所示。
sudo nethogs
NetHogs 示例预览:
正如您在上面看到的,发送和接收行显示每个进程使用的流量。 发送和接收带宽的总使用量在底部计算。您可以使用下面讨论的交互式控件来排序和更改顺序。
NetHogs 命令行选项
以下是 nethogs 命令行选项。使用“-d
”添加刷新率和“设备名称”来监控特定的给定设备或设备带宽(默认为eth0)。
例如,要将刷新率设置为 5 秒,请键入以下命令:
nethogs -d 5
sudo nethogs -d 5
要仅监控特定设备 (eth0) 网络带宽,请使用命令 as。
nethogs eth0
sudo nethogs eth0
要监控 eth0 和 eth1 接口的网络带宽,请键入以下命令。
nethogs eth0 eth1
sudo nethogs eth0 eth1
NetHogs 选项和用法
-d
– 刷新率延迟。-h
– 列出可用命令的用法。-p
– 以混杂模式嗅探(不推荐)。-t
– 跟踪模式。-V
– 显示版本信息。
NetHogs 交互式控件
以下是 nethogs 程序的一些有用的交互式控件(键盘快捷键)。
-m
– 更改带宽的显示单位,例如 KB/sec -> KB -> B-> MB。-r
– 按相应流量的大小排序。-s
– 按发送流量的大小排序。-q
– 在 shell 提示符下点击 quit。
有关 nethogs 实用程序命令行选项的完整列表,请使用命令“man nethogs”或'sudo man nethogs 查看 nethogs 手册页' 从终端。
欲了解更多信息,请访问 Nethogs 项目主页。