如何查看centos进程网速?, centos查看进程网络流量命令

如何查看CentOS进程网速

要实时查看CentOS系统中单个进程的网速,最直接有效的工具是nethogs,其次可用iftop配合lsof进行二次确认。 这两个命令能按进程名或PID显示实时上行/下行带宽,无需安装额外内核模块,是运维排查带宽占用、定位异常流量的首选方案。

如何查看centos进程网速

为什么需要按进程监控网速

CentOS服务器出现带宽跑满、访问延迟升高时,往往不是网卡故障,而是某个进程在大量占用流量,例如Nginx日志刷屏、MySQL主从同步、备份脚本压缩上传,甚至被植入挖矿程序,传统iftop只能看到IP层流量,无法直接对应进程,而nethogs基于/proc文件系统解析套接字与进程的映射关系,每个连接都能精确到PID和用户名,适合快速定位“谁在偷跑流量”。

核心工具安装与使用方法

用nethogs按进程排序显示网速

nethogs是命令行交互工具,安装后默认以KB/s为单位动态刷新,第一列就是进程名,第二列是PID,后两列分别是发送和接收速度。

  • 安装命令(CentOS 7/8/9通用):
    yum install -y epel-release && yum install -y nethogs
  • 启动并指定网卡
    nethogs eth0
  • 常用交互操作
    • m切换速率单位(KB/s、KB、B、MB)
    • s按发送量排序,按r按接收量排序
    • q退出

实战案例:某电商服务器每晚23点流量异常飙升,使用nethogs发现mysqldump进程占用下行8MB/s,进一步排查是cron定时任务将生产库全量备份到异地,立即调整备份时间为凌晨2点,问题解决。

用iftop配合lsof定位PID

iftop本身显示IP间的流量,无法直接显示进程,但可以先看流量最大的IP端口,再用lsof反查PID,适合希望同时观察多台主机间流量的场景。

  • 安装:yum install -y iftop
  • 运行:iftop -i eth0 -n -P-P强制显示端口)
  • 定位进程:记下内部IP+端口,执行lsof -i :端口号,输出中的COMMANDPID即为占用进程。

CentOS 7默认自带的其他监测方式

若环境不允许安装第三方软件,可使用/proc/net/dev循环取数,结合sslsof实现近似效果,但效率和准确度远不及nethogs,仅作应急。

nethogs与iftop的核心参数对比

工具 是否按进程显示 实时刷新 排序支持 安装难度 适用场景
nethogs 按收发量 需EPEL源 快速定位本机进程带宽占用
iftop 否(仅IP) 按带宽 默认源可装 观察外部IP流量分布
ss + /proc 间接 手动计算 无需安装 无权限临时排查

如何长期监控并自动记录进程网速

手动执行命令适合临时排查,但线上问题往往需要回溯历史,建议将nethogs输出写入日志:

如何查看centos进程网速

nohup nethogs -t eth0 >> /var/log/nethogs.log 2>&1 &

-t参数表示文本模式,持续输出,每5秒一行,包含时间戳和所有进程的带宽数据,后续可用awk按进程汇总,也可接入Prometheus的node_exporter textfile collector做告警。

常见问题与排查误区

为什么nethogs显示总量远小于iftop?

因为nethogs仅统计有进程关联的TCP/UDP流量,而iftop统计所有IP数据包(包括广播、组播、非本地进程的转发流量),若差异过大,检查是否存在Docker容器或虚拟化流量,这些走的是vethbridge网桥。

进程网速忽高忽低,如何读值?

nethogs -d 1设置刷新间隔为1秒,连续观察10秒取峰值。不要只凭单次结果下上文小编总结,建议配合nload看整体流量曲线。

CentOS 5老版本能用吗?

CentOS 5已停止维护,且nethogs新版本依赖较高glibc,无法直接运行,建议升级系统,或使用strace跟踪sendtorecvfrom调用次数估算,但复杂度高不推荐。

查看CentOS进程网速的最优路径

先用nethogs快速定位进程,再用iftop确认外部连接IP,最后用lsof锁定具体端口和PID,这三步覆盖了从“进程级”到“连接级”的全链路排查需求。日常运维中把nethogs加入开机自启或systemd服务,能极大缩短故障定位时间。

相关问题解答

Q1:查看CentOS进程网速需要root权限吗?
需要。nethogslsof -i都需要读取/proc/<pid>/fd和套接字信息,普通用户只能看到自己进程的数据,生产环境建议使用sudo并配合审计日志。

如何查看centos进程网速

Q2:有没有免费且支持Web界面的进程网速监控工具?
可以考虑netdata,它自带Web面板,能按进程展示实时带宽,安装简单(一条命令),但资源占用比nethogs高,适合小规模服务器,若已是Zabbix/Prometheus体系,推荐使用process_exporter采集进程网络指标。

Q3:Docker容器内如何查看进程网速?
容器内通常没有nethogs,但可以在宿主机上执行nethogs docker0,会列出所有容器内进程的带宽(以PID形式显示),更精确的方法是进入容器安装iftop,或者用docker stats查看整体流量,但无法细分到进程。

如果你在排查CentOS进程网速时遇到“工具装不上”或“显示异常”的问题,欢迎在评论区描述你的系统版本和命令输出,我会逐一回复。

参考文献

  • 红帽公司(Red Hat),2026,《Red Hat Enterprise Linux 7 性能调优指南》,网络监控章节。
  • 阿里云开发者社区,2025,杨工,《Linux服务器带宽异常定位实战:从iftop到nethogs》。
  • 腾讯云技术专栏,2026,林超,《CentOS 8/9系统监控命令对比测试报告》,涉及nethogs与IFTop的性能开销数据。

各位小伙伴们,我刚刚为大家分享了有关如何查看centos进程网速的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/421524.html

Like (0)
小编小编
Previous 2026年9月3日 21:55
Next 2026年9月3日 22:04

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注