售前咨询400-838-0503

云服务器带宽跑满怎么办?

发布:2026-10-13 12:54

搜索全部帮助分类的文档

云服务器运行网站、文件下载、数据库同步或 Docker 应用时,有时会出现带宽持续占满的情况。

常见表现包括网站加载变慢、文件传输速度下降、SSH 操作延迟增加,以及网络请求超时。

但看到网络流量升高,并不能直接判断服务器遭到攻击,也不代表必须立即升级带宽。

建议先确认实际带宽限制和流量方向,再依次检查网卡、连接、进程及业务日志,找到主要流量来源后进行处理。

本文以 Linux 云服务器为例。命令中的网卡、目录、地址和进程编号,均需要根据实际环境修改。

一、带宽跑满和流量用完有什么区别?

带宽表示单位时间内能够传输的数据量,通常使用 Mbps,也就是兆比特每秒。

流量表示一段时间内累计传输了多少数据,通常使用 GB、TB 等单位。

例如,100Mbps 是传输速率,500GB 则是累计数据量,两者不能直接比较。

文件下载工具经常使用 MB/s 显示速度。按照十进制单位计算:

带宽 不考虑协议开销时对应的传输速度
10Mbps 1.25MB/s
50Mbps 6.25MB/s
100Mbps 12.5MB/s

实际文件传输速度还会受到协议开销、线路、对端性能及磁盘读写等因素影响。

部分工具使用 MiB/s 等二进制单位,也需要注意区分。

带宽跑满不一定代表套餐流量已经用完,购买流量包也不等于提高带宽上限。

具体限制方式应以对应产品说明为准。

二、为什么带宽跑满会造成卡顿?

当业务持续发送的数据超过链路或限速策略能够处理的速度时,数据包可能排队等待。

排队时间增加,会导致网站请求、SSH 操作和其他交互的延迟升高。

当队列容量不足,或者限速策略直接丢弃超额数据包时,还可能出现丢包和重传。

因此,即使 CPU 和内存看起来正常,网络拥堵仍然可能导致服务器使用体验明显下降。

但短暂达到较高带宽,不一定属于故障。

应该结合持续时间、业务响应和实际限速方向判断。

入站和出站应分别观察,不要直接把两个方向相加后,与某一个方向的带宽上限比较。

三、先确认应该查看哪张网卡

不要默认所有服务器都使用 eth0。

首先执行:

ip -br addr

查看服务器网卡和 IP 地址。

再检查默认路由:

ip route show default

例如:

default via 192.0.2.1 dev eth0

这里的 dev eth0 表示这条默认路由使用 eth0。

如果实际显示的是 ens3、enp1s0 或其他名称,后面的命令应同步替换。

对于多网卡、VPN、网桥或策略路由环境,还需要结合具体业务路径判断,不能只看第一条默认路由。

另外,同一批数据可能经过物理网卡、网桥和容器虚拟网卡。

不要把这些接口的统计直接相加,否则可能重复计算。

四、使用 nload 查看网卡实时带宽

Linux使用nload查看服务器网卡实时带宽

Debian、Ubuntu 可以安装本文使用的排查工具:

sudo apt update
sudo apt install -y nload iftop nethogs

Rocky Linux、AlmaLinux 等系统应先确认已配置的软件仓库是否提供这些工具,软件包可用性可能不同。

假设需要检查的网卡是 eth0,执行:

nload -u m eth0

其中,-u m 表示按 MBit/s 显示传输速率。

重点观察以下内容:

项目 含义
Incoming 该接口接收的数据,也就是入站方向
Outgoing 该接口发送的数据,也就是出站方向
Curr 当前采样得到的速率
Avg 平均速率
Max 观察期间的峰值
Ttl 或 Total 累计数据量,不是当前速率

如果产品明确限制出站带宽,应主要观察 Outgoing。

建议在业务出现卡顿时持续观察几分钟,而不是只截取一次瞬时峰值。

不同工具的采样周期、单位换算和统计位置也可能存在差异。

按 q 或 Ctrl + C 可以退出。

五、使用 iftop 定位高流量连接

Linux使用iftop定位服务器高流量连接

确认网卡流量较高以后,可以进一步查看数据主要与哪些地址通信。

执行:

sudo iftop -i eth0 -n -N -P

其中:

-i eth0 表示指定网卡。

-n 表示不进行主机名解析。

-N 表示不把端口转换为服务名称。

-P 表示显示端口。

界面会显示通信双方、传输方向,以及最近约 2 秒、10 秒、40 秒的平均速率。

=> 和 <= 表示两端之间的数据方向,阅读时应结合本机地址判断。

默认情况下,iftop 按 bit/s 显示速率。

如果使用 -B,则会改成 Byte/s,应注意单位变化。

例如,持续高流量的连接指向另一台服务器的 SSH 端口,可以继续检查是否存在备份、SFTP 或文件同步任务。

端口和地址只是线索,不能仅凭它们认定具体程序或判断是否违规。

按 q 可以退出。

六、使用 nethogs 查看哪个进程在传输数据

Linux使用nethogs查看进程网络带宽占用

iftop 主要帮助定位通信地址和端口,nethogs 则可以辅助定位进程。

执行:

sudo nethogs -d 2 eth0

这里的 -d 2 表示每 2 秒刷新一次。

重点查看:

字段 含义
PID 进程编号
USER 运行用户
PROGRAM 程序名称或路径
SENT 发送速率
RECEIVED 接收速率

默认视图通常使用 KB/s,不是 Mbps,应以界面显示的单位为准。

找到需要检查的高流量进程后,例如 PID 为 2841,可以查看:

ps -p 2841 -o pid,user,etime,args

确认它的运行用户、持续时间和完整启动参数。

例如,高流量显示在 ssh 进程上,可能来自通过 SSH 传输的备份,而不一定是交互式登录本身。

部分 UDP、容器、转发或短生命周期流量不一定能准确归属到进程,应结合 iftop 和其他信息判断。

不要把 nethogs 没有显示完整的流量直接视为不存在,也不要看到高流量进程就立即强制结束。

七、使用 ss 核对连接对应的程序

可以继续查看 TCP 连接:

sudo ss -ntp

查看 UDP 套接字:

sudo ss -unp

查看 TCP 监听端口:

sudo ss -lntp

这些命令有助于核对本机端口、远端地址和对应进程。

例如,先在 iftop 中看到某个本机端口持续传输大量数据,再通过 ss 查找相关进程。

需要特别注意:

ss -ntp 展示的是连接及套接字信息,不会直接列出每个连接的实时带宽。

Recv-Q 和 Send-Q 也不是网速,不能把它们当作 Mbps 或 MB/s。

比较实用的组合是:

nload 看总体速率,iftop 找主要连接,nethogs 和 ss 辅助核对进程。

八、网站流量突然增大怎么排查?

如果主要流量来自 Nginx、Apache 或其他 Web 服务,可以继续查看对应网站的访问日志。

例如:

sudo tail -n 100 /var/log/nginx/access.log

以上只是常见路径。

使用宝塔或独立站点日志时,应查看该网站实际配置的日志文件。

重点检查问题发生时间附近,是否存在大量文件下载、图片请求、接口访问或重复请求。

不要只统计哪个 IP 请求次数最多。

一个请求可能下载几 GB 的文件,另一个请求可能只返回几百字节。

判断带宽来源时,还应结合响应大小、请求路径及持续时间。

如果网站经过 CDN 或 WAF,日志中的来源地址也可能是代理节点。

应先确认真实客户端 IP 的记录方式,再决定访问限制,避免误封正常代理节点。

九、Docker 容器造成高流量怎么检查?

执行:

docker stats --no-stream

可以辅助查看不同容器的资源和网络数据。

但其中的 NET I/O 表示已接收和发送的数据量,不是每秒传输速率。

因此,一个运行很久的容器显示累计传输几百 GB,并不能直接证明它现在占满带宽。

应间隔采样、观察增长情况,再结合网卡实时流量和应用日志判断。

查看具体容器日志:

docker logs --tail 100 容器名称

如果怀疑文件同步、照片上传、镜像拉取或下载服务造成流量增长,应先检查相应任务。

不要把所有 Docker 容器一起停止,也不要为了排查带宽直接清空 Docker 网络规则。

十、备份或文件同步占满带宽怎么办?

如果已经确认高流量来自正常备份,可以考虑调整执行时间、减少并发,或限制该任务的传输速度。

例如,通过 rsync 传输到独立备份服务器:

rsync -avP --bwlimit=2048 \
  -e 'ssh -p 22' \
  /data/backup/ \
  [email protected]:/srv/backup/

请把源目录、目标地址、账户、SSH 端口和目标目录替换成实际值。

这里的 --bwlimit=2048 在没有单位后缀时,表示约 2048KiB/s,也就是 2MiB/s,不是 2Mbps。

该参数限制的是这次 rsync 传输,不是整台服务器的总带宽。

实际网络占用还包含协议开销,也可能有短时波动。

已有备份任务运行时,应先确认能否正常中断和恢复,再安排限速任务。

不要直接修改不熟悉的生产备份流程。

十一、带宽跑满是不是被攻击了?

不一定。

正常的网站访问、文件下载、备份同步、图片分享和软件更新,都可能产生较高流量。

判断是否异常,需要结合业务情况、通信地址、访问日志、请求内容和进程行为。

如果发现来历不明的程序持续对外发送数据,应先保留进程、路径、连接和时间等信息,再进行限制和安全排查。

不要直接删除全部日志。

如果是大量入站流量已经挤占上游链路,单纯在服务器内部拦截数据包,未必能够释放到达服务器之前的带宽。

这种情况应向服务商提供现象和时间,确认产品的防护能力及可用处理方案,而不是只在本机不断增加封禁规则。

十二、带宽没跑满,为什么网络还是慢?

网络慢并不只有带宽不足这一种原因。

可以同时检查 CPU、内存、磁盘和应用响应。

查看进程和 CPU:

top

查看内存:

free -h

查看网卡统计:

ip -s link show dev eth0

重点观察 errors、dropped 等计数是否在故障期间继续增长。

这些属于累计统计,应比较前后变化,不能只看某个历史总数。

同时,虚拟机内部看到的网卡计数不能覆盖整条网络路径。

即使本机没有显示丢包,也不能排除上游限速或其他链路问题。

如果只有某个网站或接口慢,而其他服务正常,应继续检查对应程序、数据库、线路和目标服务,不要直接认定整台服务器带宽不足。

十三、业务已经受到影响,先做什么?

建议优先保留现场信息,再处理已经确认的流量来源。

可以先记录当前网卡收发速率、高流量连接、进程编号和问题时间。

然后通过应用自身的暂停、停止或限速功能,降低明确的下载和备份任务。

处理以后,再次观察带宽与业务响应是否恢复。

排查期间不要随意关闭网卡、清空防火墙、结束所有 SSH 进程或重启整台服务器。

如果远程连接已经非常卡顿,可以使用可用的控制台或 VNC 入口继续检查,避免失去管理通道。

十四、什么时候需要升级带宽?

如果已经排除异常程序和不必要的传输任务,并且正常业务高峰长期接近产品带宽上限,可以考虑升级带宽。

升级之前应确认:

高占用主要发生在哪个方向;

持续多长时间;

涉及哪些业务;

限制来自单台服务器、共享带宽还是目标线路。

对于可以缓存的公开静态资源,也可以评估缓存和 CDN。

对于大文件分发,可以评估独立存储或下载服务。

这些方案应根据业务选择,不能认为所有流量都适合缓存,也不能保证只升级带宽就能解决全部访问缓慢问题。

十五、带宽跑满快速排查表

问题现象 优先检查
不知道是否真的跑满 产品带宽限制、网卡实时收发速率
出站长期接近上限 下载分发、网站响应、备份上传
入站突然明显增加 文件上传、镜像拉取、异常请求
不知道哪个地址占用高 iftop
不知道哪个程序在传输 nethogs、ss、进程启动参数
网站请求量突然增加 访问日志、请求路径和响应大小
Docker 累计网络数据很大 比较增长速度,不能只看累计值
每天固定时间跑满 备份、同步和定时任务
带宽不高但网络很慢 CPU、磁盘、应用响应及链路
怀疑被攻击或入侵 保留证据,核对业务并提交工单

推荐按照:

带宽规格 → 实际网卡 → 实时速率 → 高流量连接 → 对应进程 → 业务日志 → 限速或优化

的顺序排查。

十六、仍然无法判断怎么办?

如果带宽持续异常,并且无法确定来源,可以通过莱卡云客户中心提交工单。

建议提供服务器编号或 IP、产品带宽、问题发生时间及所用时区。

同时说明主要运行的业务、入站和出站情况,以及是否存在下载或备份任务。

可以提供以下信息:

ip -br addr
ip route show default
ip -s link show dev eth0

以及 nload、iftop 的相关截图。

如果只有特定地区或网络访问异常,也应说明测试网络和具体表现。

请隐藏密码、Token、带认证参数的完整命令及其他敏感内容。

不要将未经脱敏的业务日志或网络数据公开发布。

总结

云服务器带宽跑满时,应该先确认实际限制和流量方向,而不是立即重启服务器或认定遭到攻击。

使用:

nload -u m eth0

查看网卡实时速率。

使用:

sudo iftop -i eth0 -n -N -P

定位主要通信地址和端口。

再使用:

sudo nethogs -d 2 eth0

以及 ss、进程信息和业务日志,确认流量来自哪个程序。

找到原因后,再选择暂停非必要任务、调整并发、设置应用限速、优化业务或升级带宽。

先定位流量来源,再针对性处理,才能避免误停正常业务。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单