滚动新闻 →
墙面小裂缝怎么修补 内布拉斯加选情吃紧 川普闪电到访安抚铁票仓 12架B-1轰炸机紧急撤离英国 伊朗恐攻阴谋曝光 蔡康永现身沈伯洋造势会 大陆舆论炸锅品牌忙切割 GPU 自动扩缩容为什么比普通 Web 服务更加复杂,启动时间和模型加载会带来哪些问题 Google Cloud DNS 怎么配置,从域名解析到负载均衡完整理解 英国正考虑效仿欧盟 对中国电动车加征45%关税 “反辱习”行动接连出现 蔡奇或幕后操盘 住房危机引发抗议 西班牙首相宣布提前大选 PHP 如何设计一个简单的 SaaS API,从请求到数据库完整走一遍 足球巨星梅西告别赛将登场 球迷既幸福又难过 中共跨国镇压再现 华人涉监视赖清德之子被捕 显示器画面忽明忽暗,电源板和背光系统应该如何检查 诺贝尔医学奖揭晓 美德三科学家获奖 川普幕僚会聚戴维营 密商中东战略下一步 孙雯案增至20罪 律师宣布退出辩护 川普赴内布拉斯加州助选 牛肉议题或成焦点 Windows 11 软件卸载不干净怎么办?系统自带工具和其他处理方法介绍 巴西大选首轮 博索纳罗领先卢拉 保守势力上升 长假还没结束 又一批老板偷偷关厂跑路 “浴火重生” 一颗行星在垂死的恒星中诞生 PHP 文件操作怎么做?读取、写入、移动和删除文件的完整思路 原中国电信员工举报集团高管非法套取巨额财政资金 从《静夜思》看古典诗歌的简单与深刻 夫妻在天安门摆姿势拍照 瞬间被便衣包围 古代药铺是什么样的 围棋在东亚文化中的不同传统 如何让孩子学会帮助别人又保护自己 动态范围对普通用户有什么实际意义 矢板明夫获悉:任志强还活着 但不容乐观 孙雯再增以新罪名 辩护律师宣布退出 印度河文明为何突然衰落 中共女间谍监控赖清德之子 洛杉矶机场被抓 中共内部预估疫情将持续半年 二千万人死亡 《国有器官》台片商遭冒名恐吓 台北游行传真相 “超级智能”能力急增 孙正义表示担忧 杜拜航空劫机案 副驾原计划驾机撞以色列摩天楼 厨房照明不足应该如何改善操作区域 中国公民在美涉暗网贩毒 获刑78个月 俄鼠疫实验室病原外泄一人死 白宫密切关注

GPU 利用率只有几十个百分点时应该从哪里排查,计算、网络和数据读取如何定位瓶颈

发布时间: 2026-08-25 16:00:02    最后更新: 2026-10-05 13:02:04    阅读:81  约10 分钟阅读     

【中国观察北京时间2026年08月16日】
GPU利用率只有几十个百分点时,最容易出现的误区是直接认为GPU性能不够,或者马上增加GPU数量。实际上,GPU利用率只是一个现象,并不能单独说明系统到底出了什么问题。

对于AI训练、推理或者多GPU任务来说,GPU没有持续处于忙碌状态,可能是因为计算任务本身不足,也可能是在等待CPU、内存、存储、网络通信,甚至可能是程序主动进行了同步等待。因此,排查GPU利用率低的问题,关键不是寻找一个固定的百分比阈值,而是找出GPU究竟在等待什么。

一、先确认GPU利用率低是不是真的影响了性能

第一步不是修改程序,而是确认业务到底有没有性能问题。

例如一个推理服务的GPU利用率只有几十个百分点,但请求量很低,而且延迟和吞吐都已经满足业务要求,那么这种利用率并不一定需要优化。

相反,如果GPU利用率长期偏低,同时训练速度明显下降、推理延迟升高或者吞吐量达不到目标,就值得进一步排查。

因此应该同时观察GPU利用率、GPU显存使用、任务吞吐、请求延迟、CPU使用率、内存使用、存储和网络等指标,而不是只盯着一个GPU百分比。

二、第一层排查计算链路

GPU需要CPU和其他系统组件不断准备任务。如果CPU端准备数据、执行程序逻辑或者进行数据预处理的速度跟不上,GPU完成当前任务后就可能等待下一批工作。

例如训练过程中,数据需要经过读取、解码、预处理,然后送到GPU。如果这些步骤耗时较长,GPU计算完成以后没有新的数据可以处理,就会出现利用率下降。

这时候可以观察CPU各核心的负载、数据加载进程以及程序的执行情况。

但也不能简单地认为CPU利用率高就是CPU瓶颈。CPU可能有很多任务处于等待状态,也可能只有少数核心繁忙。因此需要进一步观察CPU核心负载、进程和线程状态,以及数据加载和预处理所占用的时间。

另一个容易忽视的问题是GPU本身的计算任务太小。

如果模型、Batch Size或者单次请求的计算量比较小,GPU可能很快完成一个计算阶段,然后等待下一项任务。此时增加GPU数量通常不会自动解决问题,因为原来的工作量并没有增加。

三、显存容量和显存带宽也要分开看

GPU出现利用率低的时候,还需要检查显存。

但显存使用量高并不等于显存带宽已经成为瓶颈。

显存容量主要决定模型权重、激活值、KV Cache以及其他数据能否放入GPU显存;显存带宽则影响数据在显存与计算单元之间移动的速度。

例如一个模型可能只占用部分显存,但运行过程中需要频繁读取和写入大量数据,这时仍然可能受到显存带宽或者内存访问模式的影响。

因此不能简单看到显存没有用满,就认为GPU资源没有问题,也不能看到显存占用很高,就直接判断显存带宽不足。

四、第二层排查数据读取

如果CPU和GPU之间的工作衔接存在明显等待,就应该进一步检查数据读取链路。

训练数据可能来自本地NVMe、普通磁盘、网络存储或者对象存储。数据从存储系统读取以后,还可能经历解压、解码、格式转换和预处理,最后才能进入GPU。

因此所谓数据读取瓶颈,并不一定意味着硬盘速度慢。

例如存储本身读取速度足够快,但数据格式需要大量CPU解码;也可能是文件数量太多,导致文件系统操作成为负担;还可能是数据来自远程存储,网络传输速度限制了数据供给。

排查时可以观察存储吞吐、IOPS、读写延迟、CPU数据处理时间以及数据加载队列。

如果GPU经常在等待下一批数据,而存储读取或者数据预处理时间明显较长,那么数据供应链就可能成为瓶颈。

五、为什么不能简单说NVMe越快越好

NVMe通常能够提供较高的存储性能,但并不是所有AI任务都需要极高的随机IOPS。

训练数据如果主要是连续读取的大文件,系统可能更关注顺序读取吞吐;如果是大量小文件,则文件系统操作和随机访问可能更加重要。

因此判断存储是否是瓶颈,应该看实际工作负载,而不是看到NVMe或者普通硬盘的名称就直接下结论。

一个更可靠的方法是比较两个时间:

数据准备需要多久,GPU计算需要多久。

如果GPU很快完成计算,但下一批数据很久才能准备完成,那么优化方向应该放在数据管线,而不是继续增加GPU。

六、第三层排查多GPU之间的网络通信

单GPU任务和多GPU任务的排查方式并不完全一样。

单机多GPU可能主要受到GPU之间互联、PCIe拓扑以及CPU与GPU连接方式影响;多服务器GPU集群则还需要考虑服务器之间的网络通信。

分布式训练中,不同GPU通常需要交换梯度、参数或者其他中间数据。

例如AllReduce是一种常见的集体通信操作,它可以让多个GPU对各自的数据进行计算后,再交换并聚合结果。

如果GPU已经完成自己的计算,却必须等待其他GPU完成通信,那么GPU利用率就可能出现周期性的下降。

这时候问题不一定在GPU计算能力,而可能在通信链路。

七、如何判断网络是不是瓶颈

不能看到GPU利用率低,就直接认为网络有问题。

更可靠的方法是观察GPU计算和通信是否存在明显的等待关系。

如果多个GPU经常同时出现计算结束,然后进入通信,再等待通信完成,随后重新开始计算,这种模式就值得检查通信性能。

进一步可以检查:

GPU之间的通信量是否很大?

通信是否集中在某些GPU或者某些网络链路?

是否存在网络拥塞?

网卡是否正常工作?

GPU与网卡之间的拓扑是否合理?

RDMA等通信机制是否正常?

分布式框架的通信操作是否耗时过长?

这些问题需要结合具体集群架构和性能数据判断,不能使用一个固定的网络带宽数字作为判断标准。

八、不要把InfiniBand和RoCE混为一谈

AI集群经常使用RDMA技术减少网络通信开销。

RDMA是一类允许系统以较低CPU参与度进行远程内存数据传输的技术。InfiniBand和RoCE都是常见的高速网络通信路线,但两者并不是同一个东西。

RoCE是在以太网上实现RDMA,而InfiniBand使用的是独立的高速互联体系。

因此排查网络问题时,首先应该确认实际使用的是哪种网络架构,再检查对应的网卡、驱动、交换机配置、通信路径以及分布式框架配置。

不能看到RDMA就直接把InfiniBand和RoCE当成同一种网络。

九、程序同步也可能让GPU空闲

有些GPU利用率低的问题,既不是计算能力不足,也不是存储和网络速度不够,而是程序本身存在等待。

例如一个计算阶段完成后,程序要求多个GPU同步,然后才能进入下一阶段。如果其中一个GPU或者某个节点执行速度较慢,其他GPU就可能等待。

这种情况下,即使所有服务器的CPU、GPU、存储和网络硬件都没有明显故障,整体利用率仍然可能不高。

因此分布式AI任务需要特别关注同步点。

尤其是GPU数量增加以后,计算本身可能变得更快,但通信和同步的相对成本也可能增加。这也是为什么增加GPU数量以后,实际性能不一定按照GPU数量同比增长。

十、训练和推理的排查重点不同

训练任务通常需要重点观察数据加载、前向计算、反向传播、梯度同步以及检查点等环节。

如果每个训练Step都需要等待数据,那么应该检查数据管线;如果计算完成后大量时间用于AllReduce等通信操作,则应该检查GPU之间的通信;如果某些GPU明显比其他GPU慢,则还需要检查负载是否均衡。

推理任务则有所不同。

推理需要关注请求进入、排队、Batch、模型执行、KV Cache、上下文长度、并发以及输出生成等因素。

例如一个大语言模型推理服务的GPU利用率并不高,可能只是请求数量不足,也可能是Batch太小、请求长度差异较大,或者模型执行阶段本身存在等待。

因此不能拿训练任务的判断方法直接套到推理服务上。

十一、真正有效的排查顺序是什么

面对GPU利用率只有几十个百分点的问题,可以按照一条比较简单的路径排查:

先确认业务性能是否真的受到影响。

然后确认GPU是在计算,还是在等待。

如果在等待,再判断是在等待CPU和数据准备,还是等待存储,还是等待网络通信。

单GPU任务重点检查CPU、内存、数据加载、存储和程序执行。

单机多GPU还需要检查GPU互联和PCIe拓扑。

多服务器训练则进一步检查网络、RDMA、通信操作和节点之间的同步。

如果这些硬件指标都正常,就需要回到模型和程序本身,检查Batch Size、并行方式、数据管线、同步机制以及模型计算特征。

十二、最重要的是找到GPU的等待时间

GPU利用率低本身不是最终答案。

真正有价值的问题是:

GPU为什么没有继续工作?

如果它在等数据,就检查数据管线。

如果它在等CPU,就检查数据预处理和程序执行。

如果它在等存储,就检查读取吞吐和延迟。

如果它在等网络,就检查GPU之间的通信。

如果它在等其他GPU,就检查负载均衡和同步。

如果它没有等待,只是计算任务本身很小,那么问题可能根本不是硬件瓶颈,而是工作负载没有足够的并行度。

因此,排查GPU利用率低的问题,不能建立在某个固定百分比或者某个固定硬件指标之上。几十个百分点可能只是一个现象,真正需要定位的是从数据进入系统,到CPU准备任务,再到GPU计算,以及多GPU之间通信的完整链路。

对于AI基础设施来说,最有效的优化通常不是看到GPU利用率下降就立即增加GPU,而是先找到GPU没有获得足够工作的真正原因。只有确定瓶颈位于计算、数据、网络、存储、同步还是软件执行之后,才能知道应该优化哪一个环节。

喜欢这篇报道?

使用下面的功能,方便以后继续阅读和分享 MNewsTV

设为 Google 新闻首选来源 让 Google 新闻优先显示 MNewsTV 的最新报道 ›
★ 我的收藏 查看已经收藏的文章
关于文章收藏 收藏不需要注册帐号,收藏信息仅保存在当前浏览器中。 删除收藏请进入「我的收藏」进行管理。
分享这篇报道

捐助(Paypal): https://www.paypal.me/observeccp
订阅中国观察电报 Telegram : https://t.me/s/ObserveCCP