您是否曾经在带宽有限的系统上工作时遇到过这样的情况,并且想知道是什么程序占用了您的带宽。 Nethogs 是一个应用程序,可以帮助您找到负责它的程序。 它按发送或接收网络流量的网络接口上的进程对带宽进行分组。 Nethogs 是一个方便的应用程序,尤其是当网络流量突然激增时,您可以使用它来确定是哪个 PID 导致了这种情况。
在今天的帖子中,我们将在 CentOS 8 系统上安装 Nethogs。 请记住,您将需要运行命令为 sudo 或以 root 用户身份安装和运行 Nethogs。
在 CentOS 上安装 Nethogs
Nethogs 在 CentOS 的软件包存储库中不可用。 您可以通过首先添加 EPEL 存储库来安装 Nethogs。 以下是在 CentOS 上安装 Nethogs 的步骤:
第 1 步:添加 EPEL 存储库
首先,使用以下命令添加 EPEL 存储库:
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Enter sudo 密码。 在安装过程中,它会提示您 是/否 继续安装过程的选项。 如果要继续,请按 是的 进而 Enter.
然后你会被提示 是/否 用于 GPG 密钥。 按 是的 然后打 Enter 接受密钥。
添加 EPEL 存储库后,您将在最后看到以下输出。
第 2 步:安装 Nethogs
现在你可以在你的 CentOS 系统上安装 Nethogs。 使用以下命令执行此操作:
$ sudo yum install nethogs
在安装过程中,它会提示您 是/否 继续安装过程的选项。 如果你想继续,点击 是的 进而 Enter. 现在将在您的机器上启动 Nethogs 的安装。
安装 Nethogs 后,您将在最后看到以下输出。
第 3 步:验证安装
要验证 Nethogs 的安装,请使用以下命令:
$ sudo nethogs -v
下面的输出证实了 Nethogs 0.8.5 已安装在我们的机器上。
第 4 步:使用 Nethogs
使用 Nethogs 的一般语法如下:
$ sudo nethogs [option] [interface_name]
Nethogs 从 /proc 目录中的文件收集信息。 输出列出了在网络接口上发送和接收网络数据包的所有进程及其 PID。 然后更容易识别哪个进程正在消耗更多带宽。
如果您不指定任何选项或接口名称,Nethogs 会显示所有接口的带宽信息。
$ sudo nethogs
要监视单个网络接口,请使用 nethogs 命令,如下所示:
$ sudo nethogs ens37
如果你的系统有多个网络接口,而你只想监控特定的接口,你可以指定如下:
$ sudo nethogs ens33 ens37
默认情况下,Nethogs 每秒刷新一次输出。 您可以使用 -d 选项。 要将刷新间隔设置为 2 秒,命令将是:
$ sudo nethogs -d2
当 Nethogs 运行时,您可以使用一些选项,如下所示:
- 米: 按 米 运行时键,您可以更改显示带宽的单位(KB、B、MB 和 KB/s)
- r: 按 r 运行时key,可以按照接口接收到的流量对输出进行排序
- s: 按 s 运行时选项,您可以按从接口发送的流量对输出进行排序
- q: 按 q key 在运行时,你可以退出 shell
有关 Nethogs 的更多信息,请使用 -H 选项如下:
$ sudo nethogs -h
卸载 Nethogs
您可以按如下方式卸载 Nethogs:
$ sudo yum remove nethogs
Enter sudo 密码。 现在它可能会提示您 是/否 继续删除程序的选项。 如果要继续,请按 是的 进而 Enter. 然后 Nethogs 将从您的 CentOS 系统中删除。
Nethogs 可让您查看程序的带宽使用情况,以帮助您确定哪些进程占用了您的网络带宽。 使用上述方法,您可以方便地在 CentOS 系统上安装和使用 Nethogs。 如果你想卸载 Nethogs,它的过程也在上面描述。