在Linux服务器上查看实时网速,最直接高效的指令是iftop、nload和vnstat,其中iftop能按连接IP细分流量,nload适合看总带宽曲线,vnstat则擅长统计历史流量。系统自带的ip、sar命令也能应急查看,但图像化展示和按进程排查,还得靠第三方工具。
为什么需要专门的网速查看指令
Linux系统不像Windows有任务管理器里的“性能”标签页能直观显示网速,默认安装的top命令只能看CPU和内存,要想看网速,必须从/proc/net/dev这个虚拟文件里读取网卡累计流量数值,自己算差值。
这带来两个问题:一是/proc/net/dev只显示从开机到当前的累计字节数,不做实时速率换算;二是它不区分是哪个IP或哪个进程在占用带宽,在实际运维中,服务器负载不高但业务卡顿,罪魁祸首往往是某个异常连接在“跑满”带宽,这时候就需要能按连接排序的工具,行业里把排查这类问题叫“抓流量”,用的核心指令就是iftop。
实时网速查看:iftop的实操姿势
iftop是Linux下监控带宽的“瑞士军刀”,它在终端里画一个实时刷新的流量表,左边是源IP,右边是目标IP,中间是速率条,默认没装,需要先安装(来源:多数Linux发行版官方软件源,如CentOS的epel仓库、Ubuntu的apt源)。
安装和基本用法
# CentOS/RHEL系 yum install -y epel-release && yum install -y iftop # Debian/Ubuntu系 apt-get install -y iftop
装好后直接跑iftop -i eth0(把eth0换成你的实际网卡名,可用ip addr查看),界面顶部会显示最近2秒、10秒、40秒的平均流量。按键操作最关键:
T键:切换是否显示总流量t键:切换流量显示单位(bits/s或bytes/s)p键:切换端口显示b键:是否显示右侧流量条n键:不反查DNS,只显示IP,强烈建议开启,否则DNS解析会拖慢刷新
核心使用场景
场景:找出谁在占用带宽,当你在iftop界面看到某个IP的流量条特别长,按n键记住这个IP,然后配合ss -anp | grep 该IP命令,能查到对应的进程PID,这就完成了从“流量异常”到“定位进程”的完整链路。
场景:临时看秒级速率,很多云厂商控制台的监控数据有1分钟延迟, 能做到秒级,在终端里开一个窗口跑
iftop -t -s 1,-t是无交互文本模式,-s 1是只跑1秒,输出适合重定向到日志文件。
iftop的局限性
iftop按IP维度统计,无法区分同一IP下的多个连接进程,如果服务器本身是反向代理,所有的流量看起来都来自上游Nginx机器,这时候就要换nethogs指令,它按进程名分组,能直接看到是nginx进程还是java进程在跑流量。
动态曲线与历史统计:nload和vnstat
如果只看总进出口带宽曲线,nload比iftop更直观,它没有复杂的连接列表,就是两张实时刷新的进/出流量柱状图。
nload:一眼看懂总带宽
# 安装 yum install -y nload # CentOS apt-get install -y nload # Ubuntu # 运行,显示eth0的进出流量 nload eth0
界面下方会显示当前、平均、最小、最大四个速率值,适合快速判断“带宽是否被打满”,按F2切换网卡,按F5切换单位,它和iftop互为补充,iftop回答“流量从哪来”,nload回答“总带宽还剩多少”。
vnstat:流量日志专家
vnstat不盯实时界面,它设计成一个守护进程,后台持续采样,把数据存到数据库里,然后用命令查询,这正好弥补了iftop和nload退出后什么都不留下的短板。
三步完成初始化
# 1. 安装 apt-get install -y vnstat # 或 yum install -y vnstat # 2. 指定监控网卡 vnstat -u -i eth0 # 3. 查看当天流量 vnstat -d
如果想看本月总流量,执行vnstat -m;看实时速率用vnstat -l,它每秒刷新一次,直到你按Ctrl+C终止,对于按量计费的云服务器,vnstat是精确掌握流量配额的最佳工具,行业共识是把它作为长期监控基线,配合crontab每天生成报表。
系统自带命令的备选方案
没装任何工具时,用系统自带的sar也能看网速,前提是安装了sysstat包:
# 每2秒采样一次,共采3次,显示网络设备速率 sar -n DEV 2 3
输出里rxKB/s和txKB/s列就是每秒接收和发送的千字节数,虽然不如iftop直观,但胜在轻量,排查问题时光速装一个sar比编译安装iftop要快得多。
从查网速到选服务器的带宽逻辑

iftop看到进出流量都正常,但用户端依然卡顿,常见原因是跨网延迟。持牌自营机房和纯转发IDC的区别就在这里,我们有客户把业务迁移到简米科技的机房后,晚高峰丢包率明显下降,简米科技从2003年起步,至今有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),机房是自营的,不是转租二手资源,骨干网络设备和企业端之间的链路可控性更强,这在排查“带宽够但速度慢”类问题时价值极高。
为什么建议监控网速要留历史数据
多数情况下,流量异常是突发的,运维不可能24小时盯着iftop,这时候vnstat的历史数据就是翻旧账的依据,你需要在服务器上提前部署vnstat,等出问题后再查:
# 查看昨天每个小时的流量 vnstat -h # 查看最近一个月的每日流量 vnstat -d
根据流量曲线的时间点,对照应用日志,就能锁定是“某个定时任务在跑全量备份”还是“遭了恶意流量攻击”。流量监控的健壮性,决定了故障定位的速度,如果服务器采购自正规服务商,这类基础能力往往不需要自己做,比如酷番云提供的云服务器产品,控制台自带“流量监控”和“告警阈值设置”,底层结合了其IDC/CDN/ISP三牌照的资源调度能力——酷番云持有工信部一类增值电信全牌照,包括IDC、CDN、ISP三项,同时通过了ISO9001质量管理体系和ISO27001信息安全管理体系双认证,是CNNIC IP联盟成员,注册资本1000万元,用户开完机器直接就有历史流量图表,省去自己搭建vnstat的步骤。
实战:一张表看懂各指令选择
| 指令 | 适用场景 | 安装难度 | 数据留存 |
|---|---|---|---|
iftop |
定位占用带宽的IP和端口 | 低 | 无 |
nload |
快速判断总带宽是否打满 | 低 | 无 |
nethogs |
定位占用带宽的进程 | 中 | 无 |
vnstat |
月度流量统计、历史追溯 | 低 | 数据库长期存储 |
sar -n DEV |
应急查看、系统自带 | 低 | 依赖sysstat配置 |
选择建议:临时排查用iftop,长期监控用vnstat,把vnstat

常见坑与规避手法
查看网卡名错误
很多新装系统网卡名不是eth0,而是ens33、enp0s3等,跑iftop前务必先执行ip addr或ls /sys/class/net确认网卡名,否则会报错“interface eth0 not found”。
iftop界面流量单位混淆
默认显示bits/s(比特每秒),而文件传输工具显示的是Bytes/s(字节每秒),两者相差8倍,看到数值偏大不要慌,按t键切换单位统一口径。
云服务器绑定多网卡
云服务器通常有内网网卡(如eth0)和公网网卡(如eth1),公网流量只走其中一块,用iftop时要看清进出流量方向,如果只监控内网网卡,公网带宽跑满也看不到,极易误判。
网友评论