如何找出分配给显卡的系统内存量?

如何找出分配给显卡的系统内存量?

从 NVIDIA 控制面板:

  • 总可用显存:3839 MB
  • 专用显存:256 MB DDR2
  • 系统显存:64 MB
  • 共享系统内存:3519 MB

dxdiag

  • 显示内存: 3815 MB
  • 专用内存:231 MB
  • 共享内存:3583 MB

显然,我的系统专用 256MB 内存给集成显卡,并与集成显卡共享 3.5GB... 3.5GB 非常大!我如何才能知道这 3.5GB 中有多少内存实际分配给了显卡?(因此不适用于应用程序)

规格:

  • 操作系统:Windows 7 64位
  • 内存:8GB
  • 显卡:GeForce 9300 mGPU(nForce 730i)

答案1

这对于移动 GPU 来说是正常的。nVidia 曾制造过一个系统,其中卡可以同时使用自己的 RAM 和系统 RAM。之后,他们推出了一些具有 32 MiB 和 64 MiB RAM 的显卡。如果我没记错的话,他们可以使用系统 RAM,因此他们的总 RAM 量将是 128 MiB 和 256 MiB。基本上,专用视频内存是卡的 RAM,而共享内存是卡在需要额外内存时可以使用的主 RAM。该系统保留在他们的移动显卡中。据我所知,没有办法检查卡是否正在使用该内存。我自己在 4 GiB 系统上有一块 GeForce 9500M GS,从来没有遇到过卡占用任何系统 RAM 的问题。在我的计算机上,共享 RAM 是 1790 MiB,因此可能是驱动程序自动将一定比例的系统 RAM 设置为共享。

编辑:经过一些计算,似乎共享内存设置为主系统 RAM 的 43.7% 左右。

这里是 NVIDIA 网站上有关该技术的文章。这里这是有关该技术的另一篇有趣的文章。

据我所知,TurboCache 使用所需的 RAM 不会给您带来任何问题,因为它只使用其他应用程序未使用的 RAM,并且只在需要时以及在可以提高性能时才使用 RAM。

答案2

据我对共享视频内存的了解,这仅适用于没有自己专用 RAM 的主板上的内置内存芯片。

系统留出一小部分内存作为视频内存使用。

如果您有一个“合适的”视频卡(即插入插槽的视频卡),那么计算机将不会与视频卡共享系统内存。

如果视频卡是板载的,那么您应该能够在计算机的 BIOS 中选择视频卡使用的内存量。

您看到的数字dxdiag是软件 (DirectX) 可以访问的内存量。看来您有 256MB 的显卡,DirectX 可以使用 3.5 GB 的系统内存来处理图形事务,例如缓存纹理等。

答案3

您的视频芯片组有自己的 256MB RAM,物理上连接到 GPU 本身。GPU 还可以与系统共享 RAM,最多 3.5GB 左右。但它几乎从不这样做,即使这样做,也只是为了使用该内存完成操作所需的时间。

GPU 对共享系统内存的访问速度非常慢,因此没有必要保留任何映射。在必要时让 CPU 访问 GPU 的专用内存更为合理。(主要是因为当 GPU 访问系统内存时,这不会与其他系统内存用途发生冲突。)

从实际角度来看,他们保留共享内存功能只有两个原因。一是保留在完全没有专用内存的情况下操作 GPU 的能力。另一个只是为了营销目的而声称他们支持“高达 3.75GB 的视频内存”或类似的东西。

相关内容