目录
目录X
联系信息 首页 /正文内容

liunx系统中网络进程工具NetHogs使用说明

1. 工具简介

NetHogs 是 Linux 下的一个 按进程显示实时网络带宽使用情况 的工具。
其特点包括:

  • 可以按进程显示每秒上传(Tx)和下载(Rx)流量;

  • 显示进程 PID、用户名、程序名及所属网卡;

  • 可实时监控系统中各个进程的网络占用情况;

  • 支持交互式界面及文本输出模式,方便日志记录或脚本处理。

适用场景:

  • 排查哪个进程占用网络带宽;

  • 服务器网络流量监控;

  • 结合脚本进行长期带宽分析。


2. 安装方法

2.1 使用系统仓库(推荐)

对于 Kylin Linux / CentOS / RHEL 系统

  1. 启用 EPEL 仓库:

sudo yum install -y epel-release
sudo yum makecache
  1. 安装 NetHogs:

sudo yum install -y nethogs

对部分系统可用 dnf 替代 yum

sudo dnf install -y nethogs

3. 基本用法

3.1 启动实时监控

sudo nethogs

输出示例:

NetHogs version 0.8.7

    PID   USER     PROGRAM                      DEV        SENT      RECEIVED
    849   nobody    cpolar                        eth0       45.321 KB/s   32.654 KB/s
    1580   mysql    mysqld                       eth0        0.124 KB/s    0.076 KB/s
  --------------------------------------------------------------------------------
  TOTAL                                                45.445 KB/s   32.730 KB/s

字段说明:

列名含义
PID进程 ID
USER所属用户
PROGRAM程序或命令名
DEV网络接口(如 eth0、docker0)
SENT上传速率(Tx/s)
RECEIVED下载速率(Rx/s)

3.2 指定网卡

如果系统中有多个网卡,可以指定网卡:

sudo nethogs eth0
sudo nethogs eth0 docker0

3.3 文本输出模式(适合脚本)

sudo nethogs -t

输出示例:

849/cpolar/nobody 45.32 32.65
1580/mysqld/root 0.12 0.08
  • 第一列:PID/程序/用户

  • 第二列:上传速率(KB/s)

  • 第三列:下载速率(KB/s)

可以配合 grep 或 awk 处理:

sudo nethogs -t | grep cpolar

3.4 交互操作

在运行界面中,可使用以下快捷键:

功能
q退出程序
s改变刷新间隔(默认 1 秒)
m切换单位(B/s、KB/s、MB/s)
r按上传速率排序
l按下载速率排序

4. 使用技巧

  1. 结合其他工具

    • top 可用于 CPU、内存监控,nethogs 专注网络。

    • 同时打开两个终端,一个 htop,一个 nethogs,可快速定位瓶颈。

  2. 长期监控

    使用文本模式 -t 结合 cron 或脚本,可记录历史流量:

    • sudo nethogs -t > /var/log/nethogs.log
  3. 过滤指定进程或用户

      利用管道命令:

    • sudo nethogs -t | grep root

5. 总结

  • 实时监控每个进程的上传/下载流量nethogs 是最直接的工具;

  • 适合交互式和脚本化两种使用场景

  • 可结合 glanceshtop 查看系统整体资源和网络占用;

  • 支持 多网卡、多进程、单位切换、排序和日志输出


【打印正文】 发布时间:2025-11-05 10:26:40 浏览次数: 作者: 来源:本站原创