服务器带宽跑满排查:从流量定位到进程限速的完整思路

服务器带宽跑满,通常有两种情况:一种是业务量真的涨了,带宽成为瓶颈;
另一种是异常流量,比如被刷接口、被 CC 攻击、木马外连或备份任务占满出口。
先分清是哪一种,后面的处理方向完全不同。

本文按“先看现象、再定位流量、后处理进程”的顺序讲,命令以常见 Linux 发行版(CentOS、Ubuntu、Debian)为准,需要 root 或 sudo 权限。

先确认现象,别急着改配置

登录服务器后,先看网卡实时速率和系统负载:

# 查看网卡累计流量,注意 RX/TX 单位是字节
cat /proc/net/dev

# 每 1 秒刷新一次网卡速率,按 Ctrl+C 退出
sar -n DEV 1

如果 sar 提示没有该命令,CentOS 装 sysstat,Ubuntu/Debian 装 sysstat 包即可。
观察时重点看出口方向(TX)是否持续接近带宽上限,比如 100Mbps 带宽跑满时 TX 大约在 12.5MB/s 左右。

同时用 top 或 uptime 看负载是否同步升高。如果带宽跑满但 CPU 不高,多半是流量型问题;
如果 CPU 也高,可能是被刷了需要计算资源的接口。

定位是哪个进程在发流量

知道“带宽满了”还不够,要找出具体进程。
推荐两个工具配合用:

# 安装 iftop(按连接看流量)
yum install -y iftop    # CentOS/阿里云等
apt install -y iftop    # Ubuntu/Debian

# 指定出口网卡,常见是 eth0、ens33 或 ens5
iftop -i eth0 -n -P

-n 表示不解析域名,-P 显示端口。
界面里左侧是本机、右侧是对端,按 t 可以切换显示发送/接收流量。
找到流量最大的对端 IP 和端口后,再用 nethogs 定位到进程:

apt install -y nethogs   # 或 yum install -y nethogs
nethogs eth0

nethogs 会直接列出每个进程的上下行速率。如果看到陌生进程持续外发大量数据,优先怀疑挖矿木马或数据外传,不要只限速,要立即排查进程来源。

区分正常高峰和异常流量

定位到进程后,判断它是不是你认识的业务:

  • 是 Nginx、MySQL、Redis 等已知服务:看访问日志和慢查询,判断是否业务量上涨或接口被刷。
  • 是 PHP、Java、Python 应用:结合应用日志看请求量,确认是否有爬虫、CC 或死循环请求。
  • 是陌生进程、随机命名的二进制文件:按恶意进程处理,先 ls -l /proc/PID/exe 看可执行文件路径,再决定是否 kill 并清理。

对于 Nginx 站点,可以快速统计来源 IP 的请求量:

# 统计访问日志中请求数最高的前 20 个 IP
awk '{print $1}' /www/wwwlogs/access.log | sort | uniq -c | sort -rn | head -20

宝塔面板用户日志一般在 /www/wwwlogs/ 下,按站点名区分。
如果某个 IP 请求量明显异常,可以先用防火墙临时封禁观察。

临时限速与封禁,先止血再根治

确认是异常流量后,可以先做临时处理,避免服务器彻底失联。

# 封禁单个异常 IP(iptables 示例)
iptables -I INPUT -s 1.2.3.4 -j DROP

# 限制某进程或某用户带宽,可用 tc 做出口限速(示例: eth0 限 10mbit)
tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms

tc 限速对整块网卡生效,适合紧急降速,但会影响所有流量,用完记得删除规则:tc qdisc del dev eth0 root。

宝塔面板用户可以在“安全”里添加 IP 黑名单,或在 Nginx 配置中限制单 IP 并发连接数。任何封禁和限速操作前,先确认不会误伤自己的管理 IP,否则可能直接把自己挡在门外。

验证是否恢复,并做长期防护

处理完后,回到 iftop 或 sar -n DEV 1 观察 1 到 2 分钟,确认 TX 速率回落到正常区间,网站和 SSH 操作不再卡顿。

长期防护建议做这几件事:

  • 对外的 API 和登录接口加频率限制,Nginx 可用 limit_req 和 limit_conn。
  • 定期检查 crontab -l 和 /etc/cron.d/,避免被植入定时外连任务。
  • 给关键服务设置流量告警,云监控或宝塔的监控插件都能配置带宽阈值。
  • 备份和同步任务尽量放到低峰时段,避免和业务高峰抢出口带宽。

如果排查后确认是业务增长导致的带宽跑满,单纯限速会伤业务,这时应该考虑升配带宽或把静态资源放到对象存储和 CDN。

常见疑问

带宽跑满但 iftop 看不到大流量怎么办?
可能是短时突发流量,或抓包网卡选错了。先用 ip addr 确认出口网卡名,再用 sar -n DEV 1 看历史速率,必要时用 tcpdump -i eth0 -w capture.pcap 抓包后分析。

限速后网站变慢,怎么恢复?
如果是用 tc 限速,执行 tc qdisc del dev eth0 root 删除规则;如果是 iptables 封禁,用 iptables -D INPUT -s 1.2.3.4 -j DROP 删除对应规则。

怎么判断是攻击还是正常访问?
看请求特征:同一 IP 高频请求、User-Agent 异常、只请求动态接口不加载静态资源、来源地区集中,通常指向攻击或恶意抓取。正常业务流量一般来源分散、页面访问路径完整。

排查服务器带宽跑满,核心是先量化现象,再定位到进程和连接,最后根据是业务增长还是异常流量选择升配、限速或封禁。
每一步都留下验证方式,避免改完不知道有没有生效。

分享到:
上一篇
服务器文件系统只读修复:从定位到挂载恢复的完整步骤
下一篇
服务器集群脑裂处理:从现象判断到恢复的完整操作流程
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意