在日常运维工作中,我们经常会遇到服务器网络异常、带宽被占满等问题。这时,如何快速定位是哪个进程在大量使用网络就显得尤为重要。在 CentOS 系统中,nethogs 是一个非常实用的工具,它可以按进程实时显示网络流量,帮助你精准找出“罪魁祸首”。

nethogs(Net top for Hogs)是一个小型的进程级网络监控工具,它不像 iftop 或 netstat 那样只显示连接或端口的流量,而是直接将网络使用情况归因到具体的 PID 和程序名上。这对于排查异常流量特别有用。
例如,当你发现服务器出口带宽跑满,但不知道是哪个服务导致的,只需运行 nethogs,就能立刻看到是 nginx、python 还是某个未知脚本在疯狂上传或下载数据。
nethogs 并不是 CentOS 默认安装的工具,需要通过 EPEL 仓库来安装。以下是详细步骤:
# CentOS 7sudo yum install -y epel-release# CentOS 8 / Streamsudo dnf install -y epel-releasesudo yum install -y nethogs# 或者在 CentOS 8/Stream 中:sudo dnf install -y nethogs安装完成后,只需以 root 权限运行 nethogs 即可:
sudo nethogs默认情况下,nethogs 会监控所有网络接口,并按进程显示实时的上传(KB/s)和下载(KB/s)速度。
如果你有多个网卡(如 eth0、ens33、wlan0),可以指定只监控某个接口:
sudo nethogs eth0# 或sudo nethogs ens33假设你的 CentOS 服务器突然变慢,怀疑是某个进程在后台大量上传数据。你可以这样做:
# 以 root 身份运行 nethogs,监控主网卡sudo nethogs ens33运行后,你会看到类似以下的输出:
PID USER PROGRAM DEV SENT RECEIVED 1234 root /usr/bin/python3 ens33 120.5 KB/s 0.2 KB/s 5678 nginx nginx: worker process ens33 2.1 KB/s 45.3 KB/s ? root unknown TCP ens33 0.0 KB/s 0.0 KB/s TOTAL 122.6 KB/s 45.5 KB/s 从上面可以看出,PID 为 1234 的 Python 进程正在以 120KB/s 的速度上传数据,这很可能是问题源头。你可以进一步用 ps -p 1234 查看该进程详情,或直接 kill 1234 终止它(谨慎操作!)。
vnstat 或日志系统。通过本文,你应该已经掌握了在 CentOS 系统中使用 nethogs 命令监控进程网络流量 的基本方法。无论是排查异常带宽占用,还是日常性能分析,nethogs 都是一个简单高效的选择。
记住几个核心关键词:CentOS nethogs命令、进程网络流量监控、nethogs安装使用、实时查看Linux网络使用——这些正是运维工程师日常必备的技能点。
赶快在你的服务器上试试吧!
本文由主机测评网于2025-12-09发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125072.html