Linux服务器如何查哪个进程占带宽,进程占用带宽怎么排查

Linux 服务器上最快的办法是先装 nethogs,它按进程列出实时上下行速率,一条命令就能定位到是哪个 PID 在吃带宽。 nethogs 看不到东西,再退回 iftop 看连接、用 ss -tunp 反查进程,最后用抓包确认,绝大多数“带宽跑满”的现场,十几分钟内都能收敛到一两个进程。

Linux服务器怎么看哪个进程占用带宽:先把视角分清楚

带宽排查容易绕晕,原因在于 Linux 里“流量”有两个视角:网卡视角和进程视角。

服务器带宽占用高怎么办?(排查过程)
加载中
服务器带宽占用高怎么办?(排查过程)
搬
搬服务器的女民工
670--
原视频地址
  • 网卡视角:/proc/net/dev、sar -n DEV、iftop、bmon,它们只看 eth0 上一共流了多少字节,不知道是谁发的。
  • 进程视角:nethogs、ss -tunp、lsof -i、eBPF 工具,它们能把流量挂到 PID 上,这才是你要的答案。

行业共识认为,排查顺序应该反过来:先确认网卡真的跑满了,再去找进程,否则容易查半天,发现是监控统计口径问题比如云厂商的带宽统计包含内网、或者按 95 峰值计费,和你看到的瞬时值不是一回事。

先花十秒确认网卡到底有没有跑满

cat /proc/net/dev
# 隔 2 秒再看一次,用 (第二次RX - 第一次RX)/2 粗略得到速率
sar -n DEV 2 5

sar 的 rxkB/s、txkB/s 比 cat 直观得多,单位是 KB/s,乘 8 kbps,别拿 KB/s 去和 100Mbps 带宽直接比,这是最常见的误判。

nethogs:直接回答“哪个进程占带宽”的工具

nethogs 的原理是抓包并关联到进程,界面上直接列 PID / USER / PROGRAM / SENT / RECEIVED,它是这类需求事实上的首选,也是最常被搜索的那个工具。

CentOS 与 Ubuntu 安装路径不一样

# CentOS 7/8、Rocky、AlmaLinux
yum install -y epel-release && yum install -y nethogs
# Ubuntu / Debian
apt update && apt install -y nethogs

CentOS 7 上如果 EPEL 版本太老,nethogs 可能不支持 IPv6 或容器网络,建议源码编译或换 iftop 过渡。

常用参数与实操命令

nethogs                    # 默认监控所有网卡
nethogs eth0               # 只看业务网卡
nethogs -d 2 eth0          # 每 2 秒刷新,默认是 1 秒
nethogs -t eth0            # 追踪模式,纯文本输出,适合重定向到文件
nethogs -v 3               # 视图模式:0 KB/s,1 KB/s+总量,3 字节

线上机器推荐 nethogs -t eth0 > /tmp/bandwidth.log 挂后台跑几分钟,再用 sort、awk 抓峰值,比在终端里盯着看靠谱,界面里的 可以切换显示单位,m 切换 KB/s、B/s、MB/s,q 退出。

三个高频坑

  • 必须 root,普通用户会报 creating socket failed while establishing local IP - are you root?
  • 容器里看不到宿主进程,在 Docker 容器内跑 nethogs,PID 命名空间被隔离,你只能看到容器内的进程,要查宿主,得 nsenter -t <PID> -n nethogs 进到目标 netns。
  • 虚拟化网卡识别不全,部分 KVM、OpenVZ 环境下抓不到包,nethogs 界面显示一堆 unknown TCP,就得换方案。

服务器带宽被占用怎么排查:iftop 加 ss 的组合拳

nethogs 装不上或看不到进程时,用这套组合,业内专家指出,连接级分析往往比进程级更快定位到问题对端。

iftop 看的是连接和远端 IP

yum install -y iftop        # 或 apt install iftop
iftop -i eth0 -n -P         # -n 不解析域名,-P 显示端口

界面里 => 是发送、<= 是接收,底部三段带宽刻度能直接看出哪条连接最粗,按 t 切换显示模式,按 s、d 只看源或目的,按 L 打开过滤。iftop 不告诉你 PID,但它给你远端 IP 和端口,这是下一步的钥匙。

ss 把连接反查回进程

ss -tunp | grep 443
ss -tunp state established '( dport = :443 )'
lsof -i :8080

ss -tunp 的 users:(("nginx",pid=1234,fd=6)) 就是答案,对长连接服务,用 ss -tni 还能看到发送队列 Send-Q 是否堆积,堆积说明对端收得慢,不是你发得太快。

需要历史数据就靠 sar 和 vnstat

nethogs、iftop 都是实时的,人不在现场就抓不到。sysstat 默认每 10 分钟记一次,sar -n DEV -f /var/log/sa/sa15 能回看某天哪个时段网卡跑满。vnstat -l -i eth0 实时看,vnstat -d 看日流量,这两样适合事后复盘,不适合定位进程,别指望它们给出 PID。

nethogs和iftop哪个更适合看进程带宽

一张表说清楚,省得反复试。

维度 nethogs iftop
展示粒度 进程 / PID 连接 / 远端 IP
能否定位进程 能,直接给 PID 不能,需配合 ss、lsof
安装依赖 需 EPEL 或编译 主流源都有
容器内可用性 需进目标 netns 同样受限
适合场景 快速锁定“谁在吃带宽” 分析“流量去了哪里”
资源占用 抓包,流量大时 CPU 略高 同样抓包,界面开销低

实务上的顺序是:nethogs 先扫一遍,锁定可疑 PID;如果进程是 nginx、java 这类多连接服务,再用 iftop 看具体是哪条连接、哪个对端,ss -tunp 或 lsof 坐实。

云服务器带宽跑满怎么查:几个容易踩的额外变量

云上排查和物理机有一处本质不同:你看到的“带宽”可能是计费口径,不是网卡口径。

  • 峰值计费:多数云厂商按出方向 95 峰值或固定带宽计费,入方向通常免费。nethogs 显示上传高,才对应到账单。
  • 内网流量不计费但占网卡:同地域 VPC 内传输走内网,iftop 会显示跑满,账单却不动,先看对端 IP 是不是 10.x、172.16.x、192.168.x。
  • 突发性能实例:部分共享型实例有带宽积分,积分耗尽后限速,表现是“怎么优化都跑不快”。
  • 攻击流量:iftop 里出现大量陌生 IP 打同一端口,配合 ss -tunp | wc -l 看连接数是否异常,再看 netstat -s | grep -i "SYNs to LISTEN",这种情况查进程没意义,得在安全组和清洗上做。

docker stats 给的 NET I/O 是累计值,不是速率,很多人在这一步误判,要容器级的实时速率,进容器 netns 跑 nethogs,或直接用 cAdvisor、Netdata 这类采集器。

想长期把账算清楚:eBPF 和 tc

需要按进程长期统计、而不是临时排障时,几种做法:

  • bcc 工具集:tcptop -C 5 按进程聚合 TCP 收发字节,netqtop 看内核网络队列,内核版本建议 4.14 以上。
  • iptables 计数:对特定端口打 -m comment --comment "web" 再加 -j RETURN,用 iptables -L -v -n 看字节累加,适合给固定业务做流量画像。
  • tc 限速:定位到进程后要止血,tc qdisc add dev eth0 root tbf rate 20mbit burst 32kbit latency 400ms 能先压住网卡总量;更精细的做法是按 cgroup 加 filter。

pidstat -d 是磁盘 I/O,pidstat -r 是内存,pidstat -n 才是网络,这个参数老有人记混,看到 kB_rd/s 就以为是流量,实际上那是读盘速度。

关于进程带宽占用的常见问题

Linux服务器怎么看哪个进程占用带宽,没有 root 权限怎么办

没有 root 基本看不了进程级流量。nethogs、iftop 都需要 CAP_NET_RAW 或 CAP_NET_ADMIN,折中办法:用 ss -tunp 看自己能看到的连接(只能看到同 UID 的进程),或者请管理员配 sudo 白名单,只放开这几个命令。

nethogs 显示 unknown TCP 是什么原因

多数是抓到的包对应不上已有 socket,常见于三种情况:进程刚退出但连接还在 TIME_WAIT;流量来自宿主机或其它 netns;网卡做了 bonding、VLAN 或 offload,抓包点拿不到原始进程信息,可以先 ethtool -K eth0 gro off gso off tso off 关掉卸载再试,或者改用 ss 从连接侧反查。

进程带宽和网卡带宽对不上,差在哪里

差额通常来自内核协议栈开销、重传和抓包点差异。nethogs 统计的是应用层可识别的字节,网卡计数器包含以太网帧头、VLAN tag 和 TCP 重传,MTU 1500 下,小包多时帧头开销能占到较大比例,两边差个百分之十几属于正常范围;如果差得离谱,先查 netstat -s | grep retrans 看是不是网络质量在拖后腿。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/797368.html

赞 (0)
上一篇 2026年11月16日 01:10
下一篇 2026年11月16日 01:11

相关推荐

  • 服务器light是什么意思?服务器light报警原因及解决方法

    服务器light架构的核心价值在于通过极致的轻量化重构,实现了计算资源的高效利用与运维成本的显著降低,是现代企业应对海量并发与复杂业务场景的理想选择,这种架构模式摒弃了传统服务器臃肿的软件栈,专注于核心业务逻辑的运行,从而在性能、稳定性和安全性三个维度上实现了质的飞跃,性能跃升:轻量化带来的极致响应传统服务器往……

    2026年3月28日
    9200
  • 服务器被DDoS攻击怎么办,如何紧急处理并恢复业务?

    服务器已经被DDOS攻击了怎么办?服务器一旦确认遭受DDoS攻击,第一反应不应该是慌乱,而是按顺序执行三步:第一时间联系IDC服务商或云厂商开启流量清洗,同时通过监控工具确认攻击类型,然后根据攻击规模决定是临时切高防IP还是加带宽硬扛, 这套流程能帮你把损失控制在最小范围,先确认是不是真的被打了,还是只是流量突……

    程序编程 2026年11月5日
    900
  • ps42k17连不上服务器是怎么回事,怎么解决

    PS42K17连不上服务器通常由网络配置冲突、系统固件过旧或服务器端临时维护引起,按以下步骤逐层排查即可恢复连接,PS42K17服务器连接失败原因PS42K17连不上服务器时,问题根源集中在网络环境、设备状态或外部服务,多数情况下,用户能通过简单调整解决,以下是常见触发因素:网络连接不稳定:路由器设置不当,如I……

    2026年8月1日
    1300
  • AIoT控制中心怎么用?物联网平台搭建方案

    AIoT控制中心并非简单的软件界面,而是通过统一协议与边缘计算能力,将分散的智能硬件整合为可自动化执行的协同网络的核心枢纽,为什么你需要一个AIoT控制中心?过去,智能家居或工业物联网设备各自为战,手机APP控制灯光,另一个APP调节空调,还有一个平台管理安防摄像头,这种碎片化体验不仅繁琐,更无法实现真正的智能……

    2026年6月13日
    3500
  • 杭州AI训练慢租GPU能提速吗,GPU服务器怎么选

    有用,而且租用GPU服务器往往是杭州AI团队解决训练速度慢的最快路径,但要分场景,选对配置和租用模式才算真正解决问题,问题不在GPU本身,而是卡在“等卡”“等机器”“等资源”这三个环节上,杭州虽然是数字经济重镇,但算力资源依然紧俏,多数创业团队和高校实验室在训练模型时遇到的慢,不是算法效率低,而是硬件没跟上,租……

    2026年10月5日
    400
  • L4D2怎么开本地服务器,求生之路2联机教程?

    想开《求生之路2》(l4d2)本地服务器,最快的方法是在游戏主菜单按“~”键打开控制台,输入map加地图名回车;想搭建可长期运行的专用房间,则需要用自带的srcds.exe建服工具,这两条路分别对应单人测试和多人稳定联机,下面把具体操作、参数设置和常见坑一次讲清,l4d2怎么开本地服务器?先分清两种模式很多玩家……

    2026年10月20日
    300
  • CS2无法访问任何官方服务器如何解决,根本原因是什么

    cs2无法访问任何官方服务器,核心原因几乎都出在本地网络链路或Steam平台状态上,先按本文顺序排查,绝大多数问题能在10分钟内解决,cs2连不上官方服务器怎么办——先分清是游戏问题还是网络问题很多玩家遇到“连接不上官方服务器”的第一反应是游戏坏了,但根据近年来的社区反馈和故障统计,相当一部分情况是网络链路问题……

    2026年8月13日
    1500
  • AI有什么用,人工智能在现实生活中有哪些应用?

    人工智能(AI)作为第四次工业革命的核心驱动力,其本质并非单一的技术工具,而是一种能够重塑生产力、优化决策逻辑并创造全新价值维度的通用目的技术,核心结论在于:AI通过强大的数据算力与算法模型,将人类从重复性劳动中解放,实现降本增效,并在创意生成、科学探索及个性化服务等领域展现出不可替代的辅助与引领作用, 它不仅……

    2026年2月23日
    15800
  • 广州轻量应用服务器机房列是什么意思?轻量服务器机房列怎么选

    广州轻量应用服务器机房列,是指部署于广州地域数据中心内,专门为轻量应用服务器集群定制的物理机柜排列与网络架构单元,它代表了底层算力与上层轻量化实例的精准物理映射,解码“机房列”:从物理架构到算力交付什么是“机房列”?在数据中心(IDC)的微观物理拓扑中,“列”(Row)是核心的度量单位,一个标准机房列由10至2……

    2026年4月26日
    6500
  • 海外物理机租用哪个节点国内延迟最低,哪家好?

    海外物理机租用,国内延迟最低的节点首选香港,尤其是接入CN2 GIA线路的机房,平均延迟可控制在10-30ms,远超其他区域,海外物理机租用,哪个节点国内延迟最低?国内用户租用海外物理机,最关心的就是延迟,延迟高低直接决定业务响应速度,影响用户体验,从物理距离和网络架构看,香港节点是当之无愧的首选,香港距离中国……

    2026年7月28日
    2000

发表回复

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