查看服务器带宽使用情况,核心思路其实就两条:看监控面板(最简单、最直观)和 进系统内部查(最精准、能定位具体进程)。
不同的场景和需求,方法完全不同。我按从“小白”到“极客”的顺序给你梳理一下,重点放在实操上。
一、 云平台控制台查看(最推荐,适合大多数用户)
如果你用的是阿里云、腾讯云、华为云等主流厂商,他们自带的监控功能已经非常完善。这是最省心的方式,不用你装任何软件。
- 登录控制台:进入你的云服务器 ECS/CVM 管理页面。
- 找到监控指标:通常在“实例详情”或“监控中心”里。
- 关键指标解读:
- 入网带宽 (Inbound):别人访问你服务器的流量。
- 出网带宽 (Outbound):你服务器向外发送的流量(通常这个才是扣费的重点,尤其是按流量计费的实例)。
- 带宽利用率:当前带宽占购买上限的比例。
注意坑点:
- 时间粒度:默认可能只显示5分钟或15分钟的聚合数据。如果有突发流量(比如DDoS攻击或瞬间高并发),你需要把时间范围拉大,或者切换成更细粒度的监控(部分厂商高级监控需要额外付费或配置)。
- 峰值 vs 平均值:计费通常是按95峰值或固定带宽,但监控显示的平均值可能掩盖了瞬间的拥堵。一定要看峰值曲线。
二、 Linux 系统内部实时查看(适合排查问题)
当你发现服务器卡了,或者想看看现在到底谁在吃带宽,得进 SSH 连进去看。
1. 快速概览:iftop 或 nethogs
这两个工具比 top 更适合看网络。
-
安装:
# CentOS/RHEL yum install iftop -y # Ubuntu/Debian apt install iftop -y -
使用:
iftop -i eth0 # eth0 换成你的网卡名,用 ip addr 查看- 优势:实时显示当前连接双方的 IP 和端口,以及当前的流量大小。能一眼看出是哪个 IP 在拖慢网速。
- 进阶:加上
-P参数可以显示端口号,方便判断是 Web 服务还是数据库请求。
-
如果想知道哪个进程在占用带宽,用
nethogs:nethogs eth0它会直接列出 PID 和对应的程序名(如 nginx, mysql, python 等),这对排查“不明流量”非常有用。
2. 历史数据统计:sar 或 vnstat
如果你错过了实时监控,想复盘昨天的带宽情况,命令行里的 ifconfig 只能看累计总量,没法看趋势。
-
方案 A:使用 vnstat(轻量级,记录历史)
yum install vnstat -y vnstat --json # 查看 JSON 格式的历史数据 vnstat -h # 按小时查看 vnstat -d # 按天查看它会在后台默默记录流量,重启不丢失数据,非常适合做简单的历史分析。
-
方案 B:使用 sar(系统自带,需提前开启)
如果你的系统之前没配置过 sysstat,可能看不到历史数据。但如果装了,可以用:sar -n DEV 1 5 # 每1秒采样一次,共5次输出里的
rxkB/s是接收,txkB/s是发送。
3. 极端情况:内核日志与 dmesg
有些时候,带宽跑满是因为 TCP 重传过多,导致有效吞吐量极低。这时候看带宽监控可能觉得正常,但实际业务很慢。
netstat -s | grep retrans
如果重传率很高,说明不是带宽不够,而是网络质量差或丢包严重。
三、 Windows Server 查看方法
如果是 Windows 服务器:
- 任务管理器:Ctrl+Shift+Esc -> 性能 -> 以太网。这里能看到实时的上传/下载速度。
- 资源监视器:在任务管理器的“性能”标签页底部点击“打开资源监视器”,切换到“网络”标签。这里能看到每个进程的 TCP 连接和带宽占用,比 Linux 的
top还要直观一点。 - PowerShell:
Get-NetAdapterStatistics -Name "Ethernet"可以看到累计收发字节数,适合做长期统计脚本。
四、 避坑指南 & 专业建议
- 区分“公网带宽”和“内网带宽”:
- 很多云厂商的内网带宽(VPC 内互通)是千兆甚至万兆起步且不限量,只有公网出口带宽才严格限制且收费。别把内网同步数据的流量误认为是公网攻击。
- CDN 和 LB 的影响:
- 如果你的服务器前面挂了 CDN 或负载均衡(SLB/ELB),你在源站服务器上看到的带宽会大幅降低。此时查看带宽使用情况,应该去 CDN 或 SLB 的控制台看,那里才是流量的真实入口。
- 安全组与防火墙:
- 有时候带宽看起来“异常低”,可能是被安全组规则限制了。检查入站/出站规则是否过于严格。
- 防刷策略:
- 如果发现流出带宽突然激增,且
iftop显示大量未知 IP 连接,大概率是被撞库或 DDoS。第一时间联系云厂商的安全中心,他们能提供清洗服务或封禁 IP 的建议。
- 如果发现流出带宽突然激增,且
总结:
日常运维,云控制台监控足够应付;出了问题排查,iftop + nethogs 是黄金组合;需要历史报表,vnstat 最省心。别迷信 top 命令里的网络字段,那玩意儿对现代多核 CPU 和多网卡环境支持并不友好。
云技术博客