目录
目录X
liunx系统中网络进程工具NetHogs使用说明
1. 工具简介
NetHogs 是 Linux 下的一个 按进程显示实时网络带宽使用情况 的工具。
其特点包括:
可以按进程显示每秒上传(Tx)和下载(Rx)流量;
显示进程 PID、用户名、程序名及所属网卡;
可实时监控系统中各个进程的网络占用情况;
支持交互式界面及文本输出模式,方便日志记录或脚本处理。
适用场景:
排查哪个进程占用网络带宽;
服务器网络流量监控;
结合脚本进行长期带宽分析。
2. 安装方法
2.1 使用系统仓库(推荐)
对于 Kylin Linux / CentOS / RHEL 系统:
启用 EPEL 仓库:
sudo yum install -y epel-release sudo yum makecache
安装 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. 使用技巧
结合其他工具
top可用于 CPU、内存监控,nethogs专注网络。同时打开两个终端,一个
htop,一个nethogs,可快速定位瓶颈。长期监控
使用文本模式
-t结合 cron 或脚本,可记录历史流量:sudo nethogs -t > /var/log/nethogs.log
过滤指定进程或用户
利用管道命令:
sudo nethogs -t | grep root
5. 总结
实时监控每个进程的上传/下载流量:
nethogs是最直接的工具;适合交互式和脚本化两种使用场景;
可结合
glances或htop查看系统整体资源和网络占用;支持 多网卡、多进程、单位切换、排序和日志输出。