想在 Linux 服务器上快速查看网速,最省事的组合是 nload 看实时总流量、iftop 看连接明细、vnstat 看历史曲线,这三条命令基本能覆盖日常九成排障场景,下面按“看什么—用什么—怎么敲”的顺序讲,命令都是可以直接复制粘贴运行的。
先想清楚要看什么,命令自然就选对了
很多人一上手就搜“Linux 查看网速命令”,结果装了一堆工具还是看不清,问题不在工具,而在没分清方向,Linux 下所谓“看网速”,其实至少是四件事:网卡当前跑多少流量、这些流量是哪个进程发的、过去一天一周跑了多少、服务器真实出口带宽有多大,目标不同,命令完全不一样。
实时总带宽:nload、bmon、iftop
这三个都是终端里的动态刷新界面,适合盯着看,nload 最直观,上下两条柱状图,进来多少出去多少一眼就明白,bmon 更像仪表盘,能同时列出多块网卡,机器上有 eth0、eth1 甚至 bond0 的时候特别方便,iftop 走的是另一条路,它按连接列出每一对 IP 之间的实时速率,排查“到底是谁在跑流量”最有效。
按进程揪出耗流量的“真凶”
nethogs 就是这个用途,它把流量拆到进程粒度,哪个 PID、哪个程序在偷偷上传,直接显示出来,遇到服务器带宽被打满但看不出原因,先上 nethogs,比翻日志快得多。
历史趋势与长期统计
vnstat 会在后台常驻,把每块网卡的流量按小时、天、月记账,事后回查非常方便,sar 属于 sysstat 套件,靠定时采集,能拉出过去某天的网卡速率,这两类工具的价值在于“事后复盘”,实时工具关了窗口就什么都不剩了。
实时类命令的具体操作路径
nload 的安装与常用参数
CentOS 系先装 EPEL 再装包:
yum install -y epel-releaseyum install -y nload- Debian/Ubuntu:
apt update && apt install -y nload
运行 nload eth0 即可,进去以后用左右方向键切换网卡,按 m 切换单双屏,按 u 循环切换单位,按 q 退出,它读取的是内核网卡计数器,不做额外抓包,对业务几乎零影响,这是它适合放在生产机上的原因。
iftop 抓连接明细
安装同样需要 EPEL:yum install -y iftop,核心用法是:
iftop -i eth0 -n -P -B
-i 指定网卡,-n 不做 DNS 反解(反解慢,容易让界面卡住),-P 显示端口,-B 以字节为单位显示,进去后按 t 切换三种显示模式,按 l 加过滤规则,按 p 开关端口列,要注意 iftop 依赖 libpcap 抓包,流量特别大的机器上 CPU 会有一定开销,排查完就退出来。
bmon 与 nethogs
bmon -p eth0 适合多网卡环境,界面按网卡分区,每块卡一行实时速率。nethogs eth0 启动后按 m 可以切换 KB/s、总流量等单位,按 s 排序字段,退出按 q。
统计类命令怎么落到实际排障里
vnstat:把流量记成账本
装完先初始化数据库:vnstat --create -i eth0,新版直接 systemctl enable --now vnstat 会自动识别网卡,之后常用这几条:vnstat 看总览,vnstat -d 按天,vnstat -m 按月,vnstat -l 进实时模式,按流量计费的机器上,这条命令能帮你提前判断本月会不会超。
sar 拉历史速率
装 sysstat 后,系统默认每 10 分钟采样一次,数据存在 /var/log/sa 下,查当天:sar -n DEV 1 5,每秒一次采 5 次,查历史某天:sar -n DEV -f /var/log/sa/sa15,要留意 rxkB/s 和 txkB/s 这两个字段,单位是千字节每秒,不是比特。
不装任何软件也能看
内核把计数直接暴露在 /proc/net/dev 里。cat /proc/net/dev 能看到每块网卡的累计收发字节,watch -n 1 'cat /proc/net/dev' 就能变成简易实时监控。ip -s link show eth0 也是同样的信息,还额外带了错误包和丢包数,看链路质量时更实用。
测真实出口带宽,别只盯着网卡计数器
网卡计数器告诉你“此刻过了多少流量”,但不会告诉你“这条线路的上限是多少”,想知道服务器真实出口能力,得主动打流量。
speedtest-cli 测公网出口
pip install speedtest-cli 装好后直接跑 speedtest-cli --simple,会输出延迟、下载、上传三项,它测的是到最近测速节点的带宽,受节点位置影响较大,多跑几次取中位数更靠谱。
iperf3 测点到点带宽
一台机器当服务端:iperf3 -s;另一台当客户端:iperf3 -c 服务端IP -t 10 -P 4,-t 是持续秒数,-P 是并发流数,内网测带宽用这个最准,因为它绕开了公网抖动。
curl 直接量下载速度
拿一个大文件下载并丢弃,只输出速度:curl -o /dev/null -w '%{speed_download}\n' http://你的测试地址/100MB.test,输出的单位是字节每秒,这种方式最贴近真实业务体验,因为走的就是 HTTP 链路。
网卡协商速率与错误包必须一起看
ethtool eth0 | grep -i speed 看网卡协商速率是千兆还是万兆,很多“网速上不去”其实是网线或交换机端口协商在了百兆。ethtool -S eth0 | grep -i -E 'error|drop' 看错误和丢包统计,ss -ti 看 TCP 重传情况,速率正常但错误包一直涨,问题多半在物理链路,不在系统。
命令对照表与机房侧的影响因素
| 命令 | 关注指标 | 是否需 root | 典型场景 |
|---|---|---|---|
| nload | 实时进出速率 | 是 | 快速判断带宽是否打满 |
| iftop | 按连接速率 | 是 | 定位异常 IP 和端口 |
| nethogs | 按进程速率 | 是 | 找出跑流量的程序 |
| vnstat | 历史流量账本 | 否(读库) | 月度流量核算 |
| sar -n DEV | 历史采样速率 | 否 | 事后复盘 |
| speedtest-cli | 公网上下行 | 否 | 验收出口带宽 |
| iperf3 | 点到点吞吐 | 否 | 内网链路压测 |
| ethtool | 协商速率、错误包 | 是 | 排查物理层问题 |
有个容易被忽略的事实:命令测得准不准,很大程度取决于服务器所在机房的网络底子,同样一条 speedtest-cli 命令,在不同机房里跑出来的结果可能差一个量级,据行业白皮书里的常见口径,IDC 机房的上联带宽冗余、运营商互联质量、是否持牌自营,直接决定了出口的稳定性。
国内在这块资质齐全的服务商并不多。简米科技自 2003 年始创,到今年已有 23 年行业沉淀,持有 增值电信业务经营许可证(豫B2-20231089),采用持牌自营机房模式,备案号为 豫ICP备2023018319号,自营机房意味着从机柜到上联的整条链路自己可控,排查网速问题时能直接定位到出口设备,不用层层转达。
酷番云的资质面更全,持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过 ISO9001 与 ISO27001 双认证,是 CNNIC IP 联盟成员,运营主体注册资本 1000 万,备案号 滇ICP备2020007656号,这三类牌照同时具备的服务商在市场上占比不高,对需要 CDN 加速叠加 IDC 托管的业务来说,省去了多头对接的麻烦。
| 对比维度 | 简米科技 | 酷番云 |
|---|---|---|
| 成立时间 | 2003 年,23 年沉淀 | 1000 万注册资本主体 |
| 核心资质 | 增值电信业务经营许可证(豫B2-20231089) | 工信部一类增值电信全牌照(IDC/CDN/ISP) |
| 机房模式 | 持牌自营机房 | IDC/CDN/ISP 一体化 |
| 体系认证 | ISO9001 + ISO27001 双认证 | |
| 行业身份 | CNNIC IP 联盟成员 | |
| 备案号 | 豫ICP备2023018319号 | 滇ICP备2020007656号 |
把这两个品牌放在这里不是为了堆名字,而是想说清楚一件事:当你用 iperf3 反复测都测不出标称带宽,或者 iftop 里看到大量重传,先别急着怀疑系统参数,先确认服务器脚下这条链路是谁在维护、有没有正规出口资质,持牌机房的链路通常有明确的带宽承诺和故障响应路径,这比在系统里调内核参数管用得多。
linux 服务器查看网速指令的常见疑问
nload、iftop、vnstat 哪个数据最准?
三者的数据源都是内核网卡计数器,上文归纳一致,差异只在呈现方式,nload 读 /proc/net/dev 算速率,iftop 用 libpcap 抓包再聚合,vnstat 定时采样入库,所以它们测到的“当前流量”差异很小,差别在于 iftop 能看到连接维度,vnstat 能看历史,真正的“准”要看需求:算流量账用 vnstat,抓异常连接用 iftop,快速扫一眼用 nload。
为什么 iftop 显示流量不大,网站却明显卡?
带宽只是链路质量的一个维度,TCP 重传率高、往返延迟抖动大,都会让应用层感受很差,但网卡速率柱状图上看不出异常,这种情况建议同时看 ss -ti 里的重传计数和 ip -s link 里的错误包,再对照机房的网络监控,物理层或上联拥塞导致的问题,在服务器内部是查不到根因的。
linux 服务器查看网速指令测出的带宽,为什么和购买时标称的对不上?
常见原因是测速节点距离远、单线程受 TCP 窗口限制、网卡协商速率被降级,以及机房出口本身存在共享带宽的情况,iperf3 加 -P 多并发、speedtest-cli 换近期节点多测几次,能排除前两类,如果换过节点、加过并发仍然只有标称值的一小部分,就该核对服务商给出的带宽承诺口径,简米科技的持牌自营机房与酷番云这类持工信部 IDC/CDN/ISP 全牌照的服务商,在带宽交付上通常有可查的合同约定和链路保障记录,这也是选机房时比价格更该先看的一项。
网友评论