10

我们认为,我们正在开发的基于 Linux 的系统中的视频 RAM 已用完。我们看到视频和图形驱动程序段出现分配相关错误。

它们是我们可以用来确定在任何给定时间点有多少视频内存可用的任何工具或技术吗?无论是外部应用程序还是我们在应用程序中构建的东西都会很棒。

任何想法/建议将不胜感激 - 谢谢。

4

2 回答 2

2

我知道没有标准的方法。询问制造您正在使用的驱动程序的人。

根据您的驱动程序,您可能会使用 lspci。使用 -v -v 详细运行它

$lspci -v -v | less

寻找类似于您的视频卡驱动程序的东西,如果幸运的话,它可能会列出可用内存量。

于 2009-09-27T12:07:07.840 回答
1

lspci不能保证反映 VRAM 的总量。它只会通过bar( mem, 或prefetch-mem) 将 MMIO 编辑的 VRAM 报告给 cpu。但实际的 VRAM 可以更大。

对于同一张amd显卡,radeon可以从IIUCamdgpu看到不同的mmio-ed lspcivram,对于CPU hd8570radeon只能MMIO 256M VRAM,但是amdgpu可以MMIO 2G,这里是amdgpu的相关补丁:https://patchwork.kernel .org/project/platform-driver-x86/patch/1494348547-1465-6-git-send-email-deathsimple@vodafone.de/例如:

尝试调整 BAR0 的大小以让 CPU 访问所有 VRAM。

因此,没有从用户空间校准 vram 的通用方法,因为它依赖于 gpu 驱动程序。

于 2021-10-07T06:38:26.960 回答