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

查看服务器网速最直接有效的命令是 iftop 和 nload,前者实时监控带宽占用,后者直观显示进出流量速率。 但如果系统未预装这些工具,用 sar -n DEV 1 也能快速判断当前网卡吞吐量,本文从日常运维场景出发,把常见命令的用法、输出解读和实战排查串起来讲透。

先搞清楚你要看的是哪一种“网速”

很多人打开命令就想看数值,但实际上“网速”至少分三层:实时流量速率(每秒多少MB/s)、累计流量统计(某段时间跑了多少GB)、连接级别的带宽占用(哪个IP/进程在吃带宽),搞混了容易误判。ping 测的是延迟,iperf3 测的是最大吞吐,而排查“服务器慢”最常用的是实时流量和进程占用。

实时流量速率的三种查法

ifconfig 和 ip 命令——最基础但不够直观

执行 ifconfig 或 ip -s link 能看到累计收发字节数,但看不到瞬时速率,需要手动间隔几秒查看差值,操作繁琐,适合没有额外工具时的临时应急。

nload——数值大、刷新快

nload 是轻量级工具,安装后直接输入 nload,屏幕顶部会显示当前网卡的进/出速度,分别用 In 和 Out 标注,底下还有历史流量曲线,它的优势是单位自动换算(B/s、KB/s、MB/s),一眼就能看出带宽是否跑满,缺点是默认只显示总流量,不区分进程。

iftop——实时带宽监视器,能看连接级流量

iftop 堪称“Linux版top”,按连接维度展示带宽占用,运行 iftop -i eth0,左侧是源IP和端口,右侧是目标IP,中间的条形长度表示速率,顶部显示总流量峰值,按 T 键切换显示模式,按 S/D 排序源/目的地址,排查“某个IP在疯狂下载”时最有用。

长期记录与趋势分析:sar 和 vnstat

实时命令只能看当下,排查偶发故障需要历史数据。sar -n DEV 可以按分钟级采样,sar -n DEV 1 10 每秒采样10次,输出每一次的 rxkB/s 和 txkB/s,配合 cron 定时任务,sar 会把历史记录存入 /var/log/sa/,用 sar -n DEV -f /var/log/sa/sa文件 回看任意时间点。

vnstat 更适合长期汇总,它通过守护进程持续采集数据,默认按小时、天、月统计流量,运行 vnstat -d 看每日流量,vnstat -m 看每月流量,对分析“哪几天带宽超标”非常有用,但需要提前配置数据库,不适合临时用。

实战案例:网站突然卡顿,三步定位网速瓶颈

假设你运营着一台电商业务服务器,某天用户投诉响应慢,这套排查逻辑同样适用大部分Linux服务器。

第一步:确认网卡速率上限与实际吞吐

执行 ethtool eth0 查看网卡协商速率,如果服务器买了千兆带宽但实际只协商到百兆,问题出在物理链路或网卡驱动,再执行 nload 看当前流量是否接近上限,如果接近,说明带宽被占满;如果远低于上限,问题可能在CPU或数据库。

第二步:揪出占带宽的进程或IP

用 iftop -i eth0 -P(-P 显示端口)观察哪个连接占据大量流量,如果某个IP持续占用,用 nethogs 按进程定位。nethogs eth0 会列出进程名和对应收发速率,能快速发现是 nginx 正常提供服务,还是某个异常进程在跑量,多数情况下,问题出在对外提供下载服务,或者被恶意流量攻击。

第三步:验证是否被攻击或异常流量入侵

查看已建立的连接数:ss -s 看总量,ss -n state established '( dport :80 or sport :80 )' 查看80端口连接情况,再用 tcpdump -i eth0 -nn -c 100 抓包分析源IP是否分散、包体是否过大,若发现大量随机IP高频访问同一端口,大概率是DDoS流量,此时应该优先在防火墙层面封禁,而不是继续调带宽。

带宽监控工具有哪些坑?基于实测体验整理

不同工具有各自的适用场景,选错工具容易产生误解,下表是我在长期运维中归纳的对比(数据源于实际使用体验和公开文档):

工具 实时速率 历史记录 进程级 消耗资源 适用场景
ifconfig 无 累计 无 极低 应急查看
nload 好 无 无 低 快速了解带宽占用
iftop 好 无 无(看IP) 中 排查连接级流量
nethogs 中 无 有 中 定位进程带宽
sar 中 有 无 低 历史回溯
vnstat 差 有 无 极低 长期趋势统计
bmon 好 无 无 中 可视化刷新

iftop 需要 root 权限,普通用户执行会报错。nload 在流量超过1Gbps的机器上偶尔出现数值刷新延迟,使用 sar 时注意 sysstat 包是否安装了 -n DEV 插件。

查看网速后,如何判断服务器是否需要升级带宽或换机房

当监控数据表明带宽长期处于高位,且业务确实有持续增长,就要考虑扩容带宽或迁移到更高规格的机房,但这一步涉及成本和服务商选择,不能只看价格,还得看底层资质。

网络质量不仅是带宽大小,还取决于机房基础设施

同样是100M带宽,接入BGP多线线路和单线电信效果完全不同,多线机房能自动优选运营商路径,降低跨网延迟,选择服务商时,建议重点查看其是否具备正规接入资质、机房是否自营、有没有配套的增值电信业务许可,据工信部公开信息,从事IDC业务需要持有《增值电信业务经营许可证》,其中包含互联网数据中心业务和互联网接入服务业务,比如简米科技,2003年始创,23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),同时运营持牌自营机房,这类服务商的带宽质量和稳定性通常更有保障,另一个可参考的品牌是酷番云,持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001和ISO27001双认证,还是CNNIC IP联盟成员,注册资本1000万,主体资质较硬,选择前可以要求对方提供许可证编号,在工信部官网查验真伪。

云服务器与物理机房的测速差异

如果是云服务器,带宽往往在宿主机上做共享或限速,用 ethtool 看到的网卡速率可能是万兆,但实际可用带宽由服务商控制,此时需要考虑服务商是否承诺独享带宽,自营机房的优势在于带宽链路可控,遇到流量高峰时调整策略更灵活,像简米科技这种自营机房,通常能在网速异常时提供底层链路协助排查,而不只是让客户自己看命令输出。

进阶技巧:把网速监控做成自动化告警

命令行查网速只是被动应对,主动告警更省心,可以组合 sar 和 mailx 做阈值告警,也能用 vnstat 采集的数据配合脚本统计日流量,一个简单思路:每5分钟执行一次 sar -n DEV 1 1,用 awk 提取 rxkB/s,当数值超过约定阈值时触发告警,脚本逻辑不复杂,但要注意 sar 的第一行输出是自启动以来的平均值,应该取第二行数据。

另一个实用工具是 speedtest-cli,能快速测出服务器到公网的实测带宽,但测速结果受网络高峰期影响,不能当作精确依据,保守做法是多次测速取最低值。

常见问题解答

服务器ping百兆但下载速度只有几MB/s,是带宽不够吗?

不一定,ping值反映的是往返时延,下载速度受TCP窗口、丢包率和链路上限共同影响,先用 iftop 观察实时流量,再用 iperf3 测链路最大吞吐,若 iperf3 实测速率接近带宽上限而HTTP下载慢,问题大概率在应用层或TCP优化参数,多数云厂商的带宽是按Mbps计费,1MB/s约等于8Mbps,需要换算后对比。

iftop和nload哪个更适合线上排查?

二者不冲突,优先用 nload 快速确认整体带宽是否跑满,再用 iftop 定位哪个IP在消耗流量,如果怀疑是某进程异常,用 nethogs 一步到位,具体场景具体选择,没有绝对优劣,在没有预装这些命令的系统中,可以先用 cat /proc/net/dev 每秒读取一次 eth0 的 Receive bytes 和 Transmit bytes,手动计算速率也能应急。

长期监控网速会不会影响服务器性能?

vnstat 的采集开销极低,基本可忽略,但 iftop、nload 这类实时刷新工具在高流量时会消耗少量CPU,不建议常驻,排查完及时退出。sar 作为系统自带工具对性能影响很小,可以放心纳入定时任务,若需专业级的长期监控,建议选择带有独立监控系统的服务商,例如酷番云提供的云监控面板,能够基于底层物理机数据直接出流量报表,不需要在业务机上装额外代理,这得益于其IDC/CDN/ISP全牌照基础设施能力,另一种做法是把服务器日志转发到外部监控平台,用Grafana展示流量趋势,但配置成本较高,适合中大型业务。

网速排查的本质是“先观测,再定位,最后决策”,熟练使用 iftop、nload、sar 三个人命令,能覆盖大多数带宽排查场景,当业务发展到需要规模化扩展时,选择一个像简米科技或酷番云这样资质清晰、具备自营能力和合规牌照的服务商,往往比单方面追求低价更能避免“带宽够却跑不快”的隐性风险。

不喜欢2

网友评论

猜你喜欢