Skip to content

Windows CPU/GPU 内存管理概念

Windows 的 CPU 内存指标主要描述进程虚拟内存和物理内存驻留情况;GPU 内存指标主要描述 GPU 可使用的本地显存和系统内存。

CPU 内存指标

已使用

已使用通常表示当前已被系统占用的物理内存,包括进程、内核、驱动、缓存和内存压缩等部分。

它不是所有进程内存之和,因为内核内存和共享页面不一定按进程重复统计。

已提交

已提交(Committed)表示系统已经承诺提供存储支持的虚拟内存总量,支持来源通常是物理内存或页面文件。

系统的提交限制通常近似为:

提交限制 = 物理内存 + 页面文件

已提交不等于当前位于 RAM 中的内存,已提交页面可能已经换出到页面文件。

工作集(内存)

工作集(Working Set)表示当前驻留在物理内存中的进程页面,包括私有页面和共享页面。

多个进程可能共享同一个页面,因此所有进程工作集之和可能重复计算共享页面。

内存(专用工作集)

专用工作集(Private Working Set)表示工作集中当前驻留在 RAM 中、不能与其他进程共享的页面。

它更接近进程当前独占的物理内存,但不包括已提交而暂未驻留或已经换出的页面。

内存(共享工作集)

共享工作集(Shared Working Set)表示工作集中可以与其他进程共享的页面,例如共享 DLL、共享内存和内存映射文件。

通常可以粗略理解为:

工作集 = 专用工作集 + 共享工作集

提交大小

提交大小(Commit Size)表示进程已经提交的虚拟内存量,包括当前不在 RAM 中、但需要物理内存或页面文件支持的页面。

因此:

提交大小 != 工作集
提交大小 >= 专用工作集(通常)

GPU 显存指标

DXGI 的 DXGI_ADAPTER_DESC 提供以下容量字段:

  • DedicatedVideoMemory
  • DedicatedSystemMemory
  • SharedSystemMemory

这些字段描述适配器的内存能力或容量,不表示当前实际使用量;当前使用量和预算应通过 WDDM/DXGI 的显存查询接口获取。

Dedicated Video Memory

Dedicated Video Memory(专用视频内存)是 GPU 本地显存,例如独立显卡上的 GDDR 或 HBM 显存。

在 dGPU 上,它通常等于显卡物理显存容量;在 iGPU 上通常为 0 或一个由固件、驱动保留的数值,不代表 iGPU 没有可用显存。

Shared System Memory

Shared System Memory(共享系统内存)是 GPU 可以使用、同时也属于 CPU 系统内存的 RAM。

  • dGPU 通常优先使用本地显存,显存不足或资源被驱动迁移时才使用系统内存;通过 PCIe 访问系统内存通常慢于访问本地显存。
  • iGPU 没有独立显存,Shared System Memory 通常是 GPU 的主要内存来源,并与 CPU 共享内存带宽。

Dedicated System Memory

Dedicated System Memory(专用系统内存)是从系统 RAM 中专门分配给适配器使用的区域。

  • dGPU 通常为 0 或较小,因为 dGPU 主要使用本地显存。
  • iGPU 可能因固件预留而存在,但它不等于 iGPU 的全部可用内存。

dGPU 与 iGPU 对比

指标 dGPU iGPU
Dedicated Video Memory 通常是独立显卡的物理显存 通常为 0 或保留值
Dedicated System Memory 通常为 0 或较小 可能存在固件预留区域
Shared System Memory 显存不足时的补充 通常是主要 GPU 内存来源
CPU/GPU 内存关系 GPU 有独立显存,也可访问系统 RAM CPU 和 GPU 共享系统 RAM
主要性能限制 本地显存不足时访问系统 RAM 的带宽和延迟 CPU/GPU 争用系统内存带宽