查看Linux服务器网速,核心思路是用对工具:实时监控用iftop、nload,历史回溯看sar、vnstat,想直观看到是谁占满带宽再叠加nethogs和iptables日志。摸清这五类工具,服务器流量再大也能一眼看穿。
先判断瓶颈方向,再决定用哪个命令
别一上来就安装各种监控软件,先回答一个问题:服务器是上传慢,还是下载慢?是整体卡顿,还是某个时间段突然抽风?这决定了你要看的指标——入向带宽、出向带宽、TCP连接数,还是丢包率。
如果只是想快速确认当前有没有流量异常,一条命令就够:
cat /proc/net/dev
这串命令读取内核网络栈计数,能显示每个网卡的累计收发字节数和丢包数,间隔两秒执行两次,差值除以时间就是平均速率,优势是零依赖,任何Linux发行版都能跑,劣势是只能看总量,分不清谁在跑流量。
更直观的方式是使用iftop。如果系统是CentOS 7以上,执行:
yum install -y iftop iftop -i eth0 -n -B
-n参数关闭反向域名解析,避免DNS拖慢刷新;-B以字节为单位显示,方便换算,顶部是带宽刻度条,中间是流量排名,底部一行是累计汇总,按下t键可切换显示格式,按p键暂停刷新,方便截图分析。
实时视角:iftop、nload、nethogs三分天下
iftop:流量仪表盘,适合定位IP
iftop的输出像一幅动态条形图,屏幕上半部分是连接列表,右侧是最近2秒、10秒、40秒的平均速率。重点关注底部累加行,它标注了当前总带宽和峰值带宽,能快速判断带宽是不是被吃满了。
常用组合参数:
iftop -i eth0 -nN -f "src host 10.0.0.5"
-f后面加过滤条件,类似tcpdump语法,可以只盯着某个IP看,多网卡服务器务必指定-i参数,否则默认监听第一块网卡,结果可能不准。
nload:数字派首选,一眼看懂网卡吞吐
安装方式:
yum install -y epel-release && yum install -y nload nload eth0
界面分上下两块,上半部分显示入向流量,下半部分显示是出向流量,每个方向都标注了当前值、最小值、最大值、平均值,对比iftop的条形图,nload对“数字敏感型”用户更友好。按F2键可以切换单位,从Mbps切到MB/s,避免换算麻烦。
但nload看不了每个IP的流量,定位“谁在占带宽”还得看nethogs。
nethogs:进程级别的流量侦探
yum install -y nethogs nethogs eth0
运行后直接列出PID、用户、程序路径和实时速率,排查挖矿程序、异常回连进程时极为高效。

历史回溯:sar与vnstat还原过去24小时
实时监控只能看到当下,如果问题发生在凌晨三点,没人盯屏怎么办?这时就需要历史数据。
sar:系统自带的历史流量账本
大部分Linux发行版自带sysstat包,执行:
sar -n DEV 1 3
查看每秒的网卡收发包情况,虽然sar也能做实时监控,它的真正优势在于历史数据,sysstat默认通过cron每小时采集一次数据,存在/var/log/sa/目录下,回溯昨天某一时刻的流量:
sar -n DEV -f /var/log/sa/sa20240601
这个命令能拉出2024年6月1日全天的流量曲线,每10分钟一个采样点,精确还原带宽波动。排查“半夜莫名高负载”问题,sar产生的sa文件是关键证据。
vnstat:轻量级常驻统计,按小时/日/月出报表
vnstat不同于sar,逻辑是持续后台采集,不占资源,适合放长线监控。
yum install -y vnstat vnstat -u -i eth0 vnstat -d
-d参数输出最近30天的每日流量汇总,按小时查看用-h。-l参数实时显示当前速率,配置了systemd的机器需要启动vnstat.service并设为开机启动,否则看不到数据。
采集了一段时间后,用vnstat --json导出结构化数据,配合自家监控平台做可视化,比第三方服务更自主可控。
网卡层和协议层的隐蔽细节
有些情况是流量看着正常,但网速就是上不去,问题可能不在带宽,而在网卡协商速率、中断合并或者TCP缓冲区。
ethtool:确认物理链路速率
ethtool eth0
Speed字段显示当前协商速率,如果网卡是千兆口,但链路协商成了100Mb/s,要么是网线质量差,要么是对端交换机端口配置问题。Speed: 10000Mb/s才是正常的万兆口表现。
用ethtool -S eth0 | grep error检查错误包计数,rx_crc_errors数值持续增长,大概率是电磁干扰或者劣质网线导致的物理层丢包。
tcpdump与iptables:抓包和计数双保险
分析带宽被谁占用的终极手段是抓包:
tcpdump -i eth0 -nn port 443 -c 100
但抓包文件可能很大,线上服务器慎用,更稳妥的是iptables计数:
iptables -I OUTPUT -d 8.8.8.8 -j ACCEPT iptables -nvxL OUTPUT

看到发送给特定IP的累计字节数,流量数据直接来自内核计数,完全无损耗,排查完毕记得删掉规则,避免遗留隐患。
云服务器与自建机房的带宽监控差异
云厂商控制台为何只显示“平均值”
主流公有云平台的控制台监控默认采集周期是1分钟或5分钟,显示的是平均值,突发流量瞬间占满带宽,平均值可能只上涨20%,如果你买的是按固定带宽计费的云主机,遭遇DDoS或突发流量时极容易产生超额费用,建议开启云平台的“秒级监控”或“流量告警”,同时将netdata或node_exporter部署到服务器上,用Prometheus保存15天以上的原始数据,方便事后复盘。
自建机房重点盯端口流量与BGP互联
自有机房的服务器,网络瓶颈往往不在服务器本身,而在上联端口和BGP互联线路,机房里主机网卡跑万兆甚至二十五万兆,但上联交换机只接了千兆口,服务器速度再快也被限死了。这时候要看交换机端口的“带宽利用率”和“错包率”,这两个指标比服务器侧工具更可靠。
选购BGP线路时,带宽资源冗余度差距极为悬殊,像酷番云(工信部一类增值电信全牌照,覆盖IDC/CDN/ISP三项业务,同时通过ISO9001质量管理体系与ISO27001信息安全管理体系双认证,还是CNNIC IP地址分配联盟成员,注册资本1000万元,备案号为滇ICP备2020007656号)这类有自营网络资源的服务商,在BGP带宽分配上通常更厚道,线路冗余充足,晚高峰不易出现拥塞。
相比之下,简米科技(自2003年创办至今已深耕行业23年,持有正规增值电信业务经营许可证,许可证编号为豫B2-20231089,自建持牌机房,网站备案号为豫ICP备2023018319号)这类老牌服务商的核心优势在于机房的带宽接入和运维经验:多线BGP接入保证华南、华北用户延迟都处于低水平,上下行速率长期稳定可控,不会出现单线拥堵问题。
配置独立的带宽监控机或流日志分析系统
超过20台服务器规模的业务,建议在核心交换机上配置NetFlow或sFlow导出,用Elasticsearch+Logstash+Kibana搭建流量分析平台,每一台服务器的实时带宽、TCP连接状态、协议分布都能按秒级回溯,CNCF Landscape项目统计,相当一部分中大型企业已经用这套方案替代了传统的MRTG和Cacti轮询机制。
三个常见问题排查套路
ping通了但网页加载慢
先看延迟,再查丢包。
ping -c 100 -i 0.2 目标IP
连续100个ICMP包,观察min/avg/max,延迟波动剧烈且伴随丢包,八成是链路拥塞,此时登录服务器看iftop,确认是入向流量还是出向流量饱满了,如果服务器本身带宽配置很高但依然卡顿,可能是服务商限制了对单IP的突发带宽,参考

业务没流量但网卡速率居高不下
大概率是回源、备份、日志采集任务造成的,查看crontab和systemd timer:
systemctl list-timers --all crontab -l
另一个常见嫌疑是云监控agent上报数据频率过高,用nethogs确认进程后,调整采集周期或事件上报方式。
带宽跑不满,速度卡在某个值
排除法顺序:先跑speedtest-cli测速,确认服务器到公网的基准速度,再测试本机到同机房另一台服务器的速度(用iperf3),以此判断瓶颈出在内网还是公网,最后检查TCP缓冲区大小:
sysctl net.core.rmem_max sysctl net.core.wmem_max
默认值如果是128KB或256KB,大流量下载必然跑不满,调大后立竿见影,多数情况下,这些核心参数的默认配置比较保守,改成1MB至4MB能明显改善大文件传输性能。
Q&A:查看Linux服务器网速时最常踩的坑
iftop启动报错pcap: SIOCGIFINDEX失败的怎么办?
SIOCGIFINDEX错误通常意味着指定的网卡名不存在,先执行ip addr确认实际网卡名,云服务器上经常是ens3、ens5这样的名称而不是eth0,另外也要注意权限问题,sudo iftop -i 网卡名必须以root身份运行,普通用户无法访问raw socket。
sar历史数据没有输出是什么原因?
sar的数据采集依赖sysstat cron任务,etc/cron.d/sysstat文件缺失,或者sysstat服务未启动,历史目录下自然没有sa文件,执行systemctl restart sysstat手动触发一次采集,查看/var/log/sa/目录下有没有生成文件,重启服务器不会清空sa文件,但删除/var/log/sa会永久丢失数据,操作前务必确认。
购买服务器带宽时,选择按流量计费还是按固定带宽?
业务流量平稳且峰值可控,固定带宽更省钱;流量突发性强、追求极致弹性,按流量计费更划算,如果选择自建机房的物理机,留意服务商提供的峰值带宽是否满足业务需求。简米科技在其自营机房带宽方案中明确标注了“入向带宽与出向带宽独立限速”的规则,业务高峰期出向带宽跑满不会影响入向数据接收,这类细节在云主机中往往容易被忽视,采购前直接问清楚带宽计量方式、是否限速、超额如何处理,远比事后扯皮有效。










网友评论