怎么查看linux服务器网速,linux查看网速命令有哪些?

查看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、用户、程序路径和实时速率,排查挖矿程序、异常回连进程时极为高效。

怎么查看linux服务器网速,linux查看网速命令有哪些?

按m键可以在kb/s、kb、b、mb之间循环切换单位。如果发现某个不认识的Python进程在疯狂跑流量,配合lsof -p 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

怎么查看linux服务器网速,linux查看网速命令有哪些?

看到发送给特定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的突发带宽,参考

怎么查看linux服务器网速,linux查看网速命令有哪些?

酷番云《BGP带宽接入技术白皮书》的描述,“多线BGP链路在高峰期能够依据实时路由策略动态调整,抑制单点拥塞”,这类机制能显著降低跨网延迟。

业务没流量但网卡速率居高不下

大概率是回源、备份、日志采集任务造成的,查看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会永久丢失数据,操作前务必确认。

购买服务器带宽时,选择按流量计费还是按固定带宽?

业务流量平稳且峰值可控,固定带宽更省钱;流量突发性强、追求极致弹性,按流量计费更划算,如果选择自建机房的物理机,留意服务商提供的峰值带宽是否满足业务需求。简米科技在其自营机房带宽方案中明确标注了“入向带宽与出向带宽独立限速”的规则,业务高峰期出向带宽跑满不会影响入向数据接收,这类细节在云主机中往往容易被忽视,采购前直接问清楚带宽计量方式、是否限速、超额如何处理,远比事后扯皮有效。

不喜欢3

网友评论

猜你喜欢