滚动新闻 →
西葫芦是宝有5大益处 这类人却要禁食 大陆中秋档史上最冷 国产新片预售惨淡 访美遇大面积抗议 习近平玩偶华府街头被暴打 川普授权乌产“爱国者”导弹 基辅持续遭袭 电池热失控到底是什么 欲盖弥彰 喉舌央视删除习访美多个镜头 家庭维修应该准备哪些紧急工具 联大聚焦中东局势 近80国声明谴责伊朗 川习会上达成部分贸易协议 伊朗问题川普强硬 传北京十八中引进山东教师 高中集体罢课 GPU 显存不够时为什么不能简单增加系统内存,CPU 内存和显存之间究竟有什么区别 川习会仅达成部分贸易协议 更大博弈持续 Google Cloud VM 自动重启怎么配置,服务器发生故障后如何提高恢复能力 SaaS 系统中的 tenant 到底是什么,理解这个概念才能真正看懂多租户 电脑待机正常,一运行游戏就重启,电源和显卡供电应该怎么检查 护士工作时突发脑出血 抢救10日死亡 工伤认定遇阻 Windows 11 电池充电到多少比较合适?日常使用中的几个实用习惯 枪杀华裔导师的中国博士生 因精神失常判无罪 PHP 项目出现 vendor 目录后意味着什么?Composer 自动加载机制详解 《史记》中的人物为什么像文学人物一样生动 《黄帝内经》为什么影响深远 前央视主持人董卿疑复出失败 节目单官宣后突然撤销 围棋中的“实地”应该如何理解 调查:55.9%消费者买月饼与家人分享 芬兰瑞典战机首次联手 拦截俄罗斯军机 如何教育孩子未经允许不能使用别人的东西 川习会白天演奏台湾歌曲 晚宴唱《悲惨世界》 华为案最新进展 多名证人指其系统窃取美国技术 川习茶叙 川普:美国农民会很满意 非洲猪瘟重创中国养猪业 中秋猪价崩盘 拍视频为什么容易出现画面太暗 欧洲金秋日 人塔高耸花毯艳 南瓜拼出新纪录 美国家档案馆最后一站 习又被彭搀下台阶 洛阳为什么在中国历史上反复崛起 嘲讽德黑兰封网压迫人民 以色列大使当面送星链 超130名联合国专家 吁遏制跨国镇压 中共上榜 中共扩大出境管控 旁系亲属受牵连 伊朗总统在美称愿达协议 抛海峡七日重启计划 习国宴致辞扭曲二战历史 遭台湾陆委会打脸 泽连斯基:川普已同意授权乌生产“爱国者”导弹

GPU 显存不够时为什么不能简单增加系统内存,CPU 内存和显存之间究竟有什么区别

发布时间: 2026-09-25 17:00:02    最后更新: 2026-09-25 17:35:34    阅读:3  约15 分钟阅读     

在 AI 训练、大模型推理、科学计算和 GPU 加速应用中,一个非常常见的误区是:GPU 显存不够,那就把电脑的系统内存从 32GB 加到 64GB、128GB 甚至 256GB。这个办法有时确实能够让程序“继续跑”,但它并不等于把系统内存变成了显存,也不能按照相同容量直接替代 GPU 显存。

原因并不是简单的“显存比内存快”。更准确的理解是,CPU 内存和 GPU 显存属于不同的存储层级,服务于不同的处理器和不同的数据访问模式。GPU 的计算单元希望以极高的并行度持续获取数据,因此 GPU 本地显存需要提供非常高的带宽;CPU 系统内存则承担操作系统、应用程序、数据集、文件缓存以及 CPU 侧计算等更加通用的任务。当 GPU 需要频繁访问原本位于系统内存中的数据时,性能瓶颈就不再只是容量,而会转移到 GPU 与主机内存之间的数据通路。

显存和系统内存首先是两种不同的存储层级

独立 GPU 通常拥有自己的显存,例如 A100 80GB 使用 HBM2e。NVIDIA 公布的规格显示,A100 80GB PCIe 的显存带宽约为 1,935 GB/s,SXM 版本约为 2,039 GB/s。这个带宽是 GPU 本地 HBM 与 GPU 内部计算系统之间的数据吞吐能力,并不是 CPU 内存与 GPU 之间的传输速度。

更新一代的 H100 SXM 使用 80GB HBM3,官方规格给出的显存带宽达到 3.35 TB/s。它还拥有高带宽的 GPU 间互连,用于多 GPU 系统中的数据交换。这里可以看到一个关键区别:GPU 显存的设计目标,是让 GPU 在执行矩阵运算、张量运算和大量并行线程时尽可能少等待数据。

CPU 系统内存则是另一回事。DDR4、DDR5 等 DRAM 由内存控制器管理,主要服务 CPU 和整个操作系统。它的容量通常比单张 GPU 显存大得多,但单个 CPU 插槽能够提供的内存带宽通常无法与高端 GPU 的 HBM 带宽直接相比。

所以不能简单说“显存就是更快的 RAM”。它们从物理实现、内存控制器、访问路径、并行访问方式到软件管理方式都存在区别。

显存不足并不意味着系统内存完全没有作用

原稿中最需要修正的一点,就是“显存不足以后,系统内存无法提供帮助”。

实际上,在现代 GPU 软件栈中,系统内存可以参与 GPU 工作。CUDA 支持 page-locked host memory,也就是常说的 pinned memory。经过锁页和映射之后,一部分主机内存可以用于 GPU 与 CPU 之间的数据交换,某些系统还支持 GPU 直接访问映射后的主机内存。CUDA 文档明确说明,pinned memory 可以用于异步 CPU-GPU 拷贝,并可以映射到 GPU 地址空间。

CUDA 还提供 Unified Memory 等机制,让 CPU 和 GPU 可以在统一虚拟地址空间下管理数据。具体能力取决于 GPU、驱动、操作系统和硬件平台。现代 CUDA 文档把 Unified Memory 分成多种支持模式,并不是所有系统都具有完全相同的硬件一致性和页面访问能力。

因此,更准确的说法应该是:增加系统内存可以在某些架构和软件策略下帮助 GPU 容纳更多工作集,但它不能把这些数据变成等价的本地 GPU 显存。

这两句话看起来相近,实际性能差别却非常大。

为什么系统内存不能直接替代显存

假设一张 GPU 有 24GB 显存,而模型或者工作集需要 40GB。

如果软件采用 GPU 内存和 CPU 内存之间的 offload 策略,可以把其中一部分数据暂时放在系统内存,需要使用时再传输到 GPU。这样确实有可能让原本无法启动的程序运行起来。

问题出现在访问频率。

如果某个数据只需要偶尔读取,把它放在系统内存通常可以接受。例如模型加载阶段的数据、CPU 侧预处理数据、暂时不用的权重、缓存或者部分检查点数据。

如果 GPU 在每个计算步骤都需要反复读取这部分数据,情况就完全不同了。此时 GPU 必须不断通过主机与设备之间的数据通路取得数据,传输延迟和有效带宽就会成为新的瓶颈。NVIDIA 的 CUDA 最佳实践文档也明确强调,频繁访问映射到主机内存的数据会反复产生 CPU-GPU 数据传输,因此对于重复使用的数据,更适合放在 device memory 中。

这就是为什么“128GB 系统内存 + 12GB 显存”并不等于“140GB GPU 显存”。

容量可以在软件层面形成某种程度的互补,但带宽、延迟和访问位置并没有被合并。

PCIe不是显存的替代品,而是重要的数据通道

独立 GPU 与 CPU 内存之间通常需要经过 PCIe 等主机接口进行数据交换。在现代服务器中,还可能存在 PCIe Switch、NUMA、CPU Socket、GPU-GPU NVLink 等不同的数据路径,因此不能把所有系统简单理解成“CPU 内存连接 GPU 的一根 PCIe 线”。

以 H100 为例,NVIDIA 官方规格给出的 PCIe Gen5 x16 接口带宽是 128 GB/s,而 H100 SXM 的 GPU 内存带宽达到 3.35 TB/s。两者根本不是一个数量级。

这也是 AI 系统设计中非常重要的一条原则:本地显存主要承担 GPU 高频访问的数据,而系统内存更适合作为容量更大的主机侧存储层。

如果一个计算核心每次执行都需要从 CPU 内存取得大量数据,那么 GPU 的几百甚至几千个计算单元就可能因为数据供应不足而闲置。

因此,“系统内存够不够”与“GPU 显存够不够”实际上是两个不同的问题。

大模型为什么特别容易遇到显存容量限制

大模型占用的 GPU 内存远不只是模型参数。

推理阶段至少需要考虑模型权重、运行时临时张量以及 KV Cache 等数据结构;训练阶段则更加复杂,还要考虑激活值、梯度、优化器状态以及各种临时 buffer。

例如一个参数量达到数百亿甚至上千亿的模型,即使使用低精度数据类型,权重本身也可能占据几十 GB 甚至数百 GB。训练时的实际内存需求通常远高于单纯计算“参数数量乘以每个参数占多少字节”。

这也是为什么大模型训练通常采用数据并行、张量并行、流水线并行、参数分片以及 ZeRO 等技术,把不同类型的数据分散到多个 GPU 或不同的存储层级中。

这里还需要纠正另一个常见说法:KV Cache 并不是任何情况下都“必须全部放在显存”。

为了获得最高性能,GPU 本地显存当然是最理想的位置,但现代推理系统可以采用 KV Cache 压缩、分页管理、CPU offload 等策略。代价是访问速度和系统复杂度发生变化。也就是说,“能不能放到系统内存”和“放到系统内存以后还能不能保持原来的吞吐量”是两个不同的问题。

为什么增加系统内存有时候反而很有用

如果目标是运行大模型,而 GPU 显存已经达到容量上限,增加系统内存并非完全没有意义。

例如某些框架可以把暂时不参与计算的权重放到 CPU 内存,在需要时再传输到 GPU。这样做能够扩大能够运行的模型范围。

模型加载阶段也需要大量系统内存。模型文件首先从 NVMe、网络文件系统或其他存储介质读取,进入 CPU 侧的内存和运行时缓冲区,然后经过解析、分配、转换以及 Host-to-Device 传输,最终把需要驻留 GPU 的张量放进显存。pinned memory 可以进一步提高主机到设备的数据传输效率。

所以,对于 AI 工作站来说,系统内存太小同样会成为问题。

例如一张 24GB 显卡搭配 32GB 系统内存,运行大型模型时可能同时受到 GPU 显存、CPU 内存、操作系统内存压力以及存储吞吐的限制。如果把系统内存增加到 128GB,某些 offload 工作负载确实会得到明显改善。

但这并不意味着 GPU 计算速度也会按照系统内存容量同步提高。

真正需要区分的是容量和带宽

判断内存瓶颈时,容量和带宽必须分开看。

如果 GPU 显存容量不足,常见表现是 CUDA out of memory、无法分配 tensor、模型加载失败或者 batch size 无法继续提高。

如果显存容量足够,但 GPU memory bandwidth 成为瓶颈,则增加显存容量可能完全没有帮助。此时需要分析 kernel 的访存模式、数据复用率、memory throughput、occupancy、cache 命中以及计算单元利用率。

反过来,如果 GPU 显存足够,但是 CPU 内存不足,DataLoader、预处理、缓存、模型 offload 或多个并行任务可能出现内存压力。此时增加系统内存才可能解决问题。

因此,“显存不够”并不能自动推出“加内存没用”。正确的问题应该是:到底是哪一层内存容量不足,以及工作负载究竟需要什么样的数据访问模式。

FP16、BF16和FP8为什么可以缓解显存压力

对于 AI 模型,降低数据精度往往是降低显存占用最直接的方法之一。

例如同样数量的参数,FP32 每个参数需要 4 字节,而 FP16 或 BF16 通常只需要 2 字节。FP8 则进一步降低到 1 字节。

这意味着模型权重、部分激活值以及其他张量采用低精度存储后,可以明显减少显存占用,同时还可能提高 GPU Tensor Core 的计算吞吐。

但不能把它简单理解成“FP16 一定让显存占用减半”。

训练过程中不同数据结构可能使用不同的数据类型。模型权重、梯度、优化器状态和 master weights 的精度可能不同;框架还可能为了数值稳定性保留更高精度的数据。因此实际训练内存需求必须根据具体框架和优化器计算。

量化比单纯增加系统内存更接近显存容量问题的根源

对于推理任务,量化往往是解决显存容量问题的重要手段。

例如一个大型语言模型从 FP16 转换为 INT8 或更低比特格式后,权重本身的存储需求可以大幅下降。如果模型结构、运行时和 GPU kernel 都支持相应的数据类型,显存压力也会明显降低。

但量化并不是免费的。不同量化算法会产生不同的精度损失、kernel 支持情况以及计算开销。有些系统还会把部分权重保持在较高精度,或者采用混合精度计算。

因此工程上真正需要优化的是整个内存层级,而不是盯着某一个数字。

多GPU解决的是容量问题,也解决不了所有带宽问题

当一张 GPU 的显存无法容纳模型时,增加第二张、第四张甚至第八张 GPU,可以通过模型并行、张量并行、流水线并行或参数分片扩大可用 GPU memory。

但多 GPU 并不意味着“显存自动合并成一块”。

例如四张 80GB GPU,并不简单等于一张拥有 320GB 本地显存、任何计算单元都能以相同速度访问的 GPU。不同 GPU 之间的数据交换需要经过 NVLink、NVSwitch、PCIe 或其他互连,软件还必须负责数据分布和通信。

因此,多 GPU 系统真正的性能关键之一,是 GPU 计算能力、显存容量、显存带宽以及 GPU-GPU 互连带宽之间能否匹配。

专业诊断不能只看显存占用百分比

在实际 AI 系统中,如果发现模型运行缓慢或者频繁 OOM,首先应该确定是哪一类资源达到瓶颈。

GPU 侧应该观察显存容量、显存分配、memory bandwidth、SM utilization、Tensor Core utilization、功耗、温度以及 kernel 执行时间。CPU 侧则需要观察系统内存、NUMA 分布、CPU 利用率、内存带宽以及数据预处理速度。PCIe 和 GPU-GPU 互连则需要关注实际传输吞吐和通信等待。

如果 GPU 显存已经 95%以上,但 GPU 计算利用率很高,说明显存容量可能只是工作负载的硬限制,此时需要量化、减少 batch、重新组织模型或者增加 GPU。

如果 GPU 显存占用不高,但 GPU 利用率很低,同时 CPU 内存、CPU 或 PCIe 传输异常繁忙,那么问题可能根本不在显存容量,而在数据供给链路。

如果增加系统内存以后模型终于可以加载,但 tokens/s 明显下降,也不能说升级内存“失败”。它解决的是容量问题,却没有解决数据移动成本。

这也是专业 AI 系统调优和普通电脑升级思路之间的区别。

CPU 内存、GPU 显存、NVMe、CPU Cache、GPU Cache、GPU HBM 以及 GPU-GPU 互连,本质上构成了一套分层的内存体系。越靠近计算核心的存储,通常越强调带宽和低访问成本;越远离计算核心,容量和成本优势越明显,但数据移动的代价也随之增加。

所以,GPU 显存不足时增加系统内存并不是完全错误,而是不能把它理解成“用 RAM 替代 VRAM”。系统内存可以承担 offload、缓存、数据预处理、模型加载以及部分 Unified Memory 工作,但只要数据被 GPU 高频访问,主机内存与 GPU 本地显存之间的性能差距就会暴露出来。

对于 AI 工作负载,真正有效的优化通常不是简单地问“再加多少 GB 内存”,而是先确定数据应该长期驻留在哪里、哪些数据必须高速访问、哪些数据可以被 offload,以及 CPU、GPU、存储和互连之间哪一层已经成为瓶颈。显存容量决定了 GPU 能够高效驻留多少工作集,显存带宽决定数据能够多快供应给计算单元,而系统内存则决定整个主机能够承载多大的数据和 offload 工作集。只有把这三个层次同时考虑,才能判断一台 AI 工作站究竟应该加 RAM、换更大显存的 GPU、增加 GPU 数量,还是从模型和数据访问方式本身下手。

喜欢这篇报道?

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

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

分享 Facebook | X | WhatsApp | LinkedIn

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