服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-11-07 简米科技 3,503 字 8 分钟阅读

如何查看虚拟机当前实时带宽使用情况?实时带宽监控用什么工具?

导读查看虚拟机实时带宽最直接的方法是登录系统后用nload或iftop命令,一条命令就能看到当前进出的实际流量;如果你不想进系统,云平台控制台自带监控图表也能看个大概,但会有几分钟延迟,下面这套排查思路,能让你在两分钟内找到准确答案,为什么你查到的带宽数字总是不准?很多人第一反应是打开任务管理器或者云平台控制台,结……

查看虚拟机实时带宽最直接的方法是登录系统后用nload或iftop命令,一条命令就能看到当前进出的实际流量;如果你不想进系统,云平台控制台自带监控图表也能看个大概,但会有几分钟延迟。

下面这套排查思路,能让你在两分钟内找到准确答案。


为什么你查到的带宽数字总是不准?

很多人第一反应是打开任务管理器或者云平台控制台,结果发现数字跳来跳去,和自己体感完全对不上。

问题出在监控链路的不同。 控制台上显示的是虚拟化层统计的网卡吞吐量,它统计的是物理网卡上的流量,而你在系统里用工具看到的,是虚拟机内网卡实际处理的数据量,两边的统计口径不同,所以数字有差异是正常的。

如果你需要精确到秒级的实时数据,必须进入虚拟机系统内部查看。

虚拟机实时带宽监控工具有哪些

业内专家指出,Linux下最常用的实时带宽工具就三款:nload、iftop和bmon。 这三款工具安装简单,输出直观,适合绝大多数运维场景。

nload:最直观的仪表盘式显示

nload用字符画出一个实时刷新的仪表盘,左边是流入,右边是流出,下方还会显示峰值、平均值和最小值。

安装命令:

  • CentOS/RHEL:yum install -y nload
  • Ubuntu/Debian:apt install -y nload

装好后直接输入nload,默认显示第一块网卡的数据,如果你有多块网卡,可以指定查看某一块:

nload eth0

屏幕上会同时显示当前流量、平均流量、最小流量和最大流量,单位默认是Mbps,也可以用-u参数改成KB/s或MB/s:

nload -u M

iftop:类top风格的连接级流量排行

iftop的界面类似top命令,但它展示的是每个连接的实时带宽占用,这个工具最大的价值在于,它能告诉你哪台机器、哪个端口在消耗带宽。

安装命令:

  • CentOS/RHEL:yum install -y iftop
  • Ubuntu/Debian:apt install -y iftop

运行:

iftop -i eth0

界面左上角显示的是最近2秒、10秒、40秒的平均流量,下方是每个连接的IP和端口,带宽数字会实时跳动,按T键可以切换显示格式,按P键暂停刷新,方便你截图记录。

bmon:带历史曲线图

bmon的优势在于界面底部有一条实时滚动的带宽曲线图,能直观看到流量波动趋势。

安装:

yum install -y bmon
apt install -y bmon

运行bmon -p eth0,按d键可以调出详细的每秒数据。

云平台控制台怎么查虚拟机当前带宽

如果你用的是简米云、酷番云或华为云的虚拟机,控制台自带的监控图表是最省事的方式。

简米云ECS

进入ECS实例详情页,点击“监控”标签页,默认展示的是CPU使用率、网络流入带宽和网络流出带宽三个核心指标,图表默认是1小时视图,你可以把时间范围缩到15分钟或1小时,刷新频率大约是1分钟一次。

需要留意的是,控制台图表有1-2分钟的数据延迟,不是严格意义上的“实时”,如果你需要秒级数据,建议使用云监控插件,安装后能实现15秒级别的采集精度。

酷番云CVM

酷番云的路径是:控制台 -> 云服务器 -> 实例 -> 监控,默认展示“网络带宽”图表,同样支持自定义时间范围,酷番云还有一个“流量包”页面,可以查看本月已用流量,但那是累计值,不是实时带宽。

用API或CLI查实时数据

如果你有多台虚拟机需要批量查看带宽,可以用云平台的API接口拉取监控数据,以简米云为例,调用DescribeInstanceMonitorData接口可以获取到每隔1分钟或15秒的带宽采样数据,适合写脚本做告警。

怎样判断虚拟机带宽是否跑满

运行了上面提到的工具后,看到数字只是第一步,关键是要判断当前带宽是否成为瓶颈。

先看网卡速率上限

用ethtool eth0查看网卡协商速率,比如输出显示Speed: 1000Mb/s,说明网卡是千兆口,理论最大带宽约125MB/s,如果你用nload看到带宽长期维持在110MB/s以上,说明基本跑满了。

另一种方式是查看/proc/net/dev文件,里面的rx_bytes和tx_bytes字段记录了累计流量,你可以手动计算差值:

cat /proc/net/dev

间隔10秒再执行一次,用差值除以时间,就能得到平均速率。

确认带宽瓶颈在哪个方向

  • 流入带宽跑满:通常是有大量下载任务,或者被入侵后成为肉鸡被DDoS攻击。
  • 流出带宽跑满:最常见的原因是网站被频繁爬取、视频文件被大量下载,或者数据库备份上传到对象存储。

实践中遇到过这样一个场景:某台虚拟机带宽持续跑满,用iftop查到是一个陌生IP在大量下载服务器上的压缩包。最后确认是业务方把备份文件放在web目录下,被人发现后疯狂拉取。 这种问题不进入系统看连接级数据,根本没法定位。

Windows虚拟机怎么查看实时带宽

Windows系统的查看方式相对简单一些。

任务管理器自带功能

Windows 10/11和Windows Server 2016以上版本,打开任务管理器->性能选项卡,点击“以太网”或“WLAN”,右下角会显示实时速率折线图,这个图表默认显示最近60秒的流量,每秒刷新一次,足够日常使用。

资源监视器

按Win+R输入resmon打开资源监视器,切换到“网络”选项卡,可以看到每个进程的实时带宽占用,这个功能非常实用,能直接找出是哪个程序在跑流量,列表里有“发送”和“接收”两列,点击列头可以按流量大小排序。

第三方小工具

如果你需要更精细的数据,可以临时下载TrafficMonitor这类便携工具,免安装,直接显示在任务栏上,不过这类工具依赖性能计数器,对系统版本有一定要求,建议在测试环境先验证。

临时查看和持续监控怎么选

不同的场景需要不同的工具,选错了往往事倍功半。

场景 推荐工具 理由
临时登录看一眼 nload 启动快,界面直观,无需配置
排查哪个IP占带宽 iftop 能看到连接级数据
长时间后台记录 nload + 重定向 可输出到文件用于事后分析
云平台统一监控 控制台监控图表 免登录,支持告警

需要长时间记录带宽的朋友,可以用下面的命令把nload的输出重定向到文件:

nload eth0 -t 1000 > /tmp/bandwidth_$(date +%Y%m%d).log 2>&1 &

这样后台会持续记录数据,每1000毫秒采样一次,日志存在/tmp目录下。

带宽数据的单位陷阱

新手经常在这里翻车。带宽的常用单位是Mbps(兆比特每秒),而文件大小常用MB(兆字节)单位。 1字节等于8比特,所以100Mbps理论下载速度只有12.5MB/s。

如果你在nload里看到当前流量是80Mbps,实际下载文件的速度大约在10MB/s左右。判断是否跑满带宽前,先确认单位是Mbps还是MB/s,否则容易产生误判。

常见问题解答

虚拟机带宽监控工具哪个最准?

准确度最高的永远是网卡计数器,即/proc/net/dev里的累计值。 nload和iftop也是读取这个计数器的数值做差值计算,所以三者数据基本一致,云平台控制台的监控数据来自宿主机虚拟化层,由于统计点不同,数值会比系统内看到的略低或略高,属于正常现象。

为什么控制台显示带宽很低,但系统内部显示很高?

统计路径不同导致的。 云平台控制台统计的是虚拟网卡在宿主机上的流量,如果虚拟机的网卡有队列或卸载功能,部分数据包可能在内部处理时没有计入宿主机统计口径,控制台监控数据有2-3分钟的聚合延迟,短时间内的高峰流量会被平均掉。以系统内工具显示的数据为准,控制台数据参考趋势即可。

带宽经常跑满,需要升级配置吗?

先定位再升级,不要盲目加带宽。 用iftop查看是哪个IP或端口在消耗流量,如果是业务正常访问,说明带宽确实不够用;如果是异常连接,先检查是否被入侵或者爬虫抓取,多数情况下,通过限制单IP带宽或优化业务逻辑就能解决问题,不一定要花钱升级配置,根据以往经验,超过半数的“带宽跑满”问题靠调整即可解决,真正需要升级配置的不足四成。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱