有没有办法确定 Linux 中可用视频 RAM 的数量?
Posted
技术标签:
【中文标题】有没有办法确定 Linux 中可用视频 RAM 的数量?【英文标题】:Is there a way to determine the amount of free video RAM in Linux? 【发布时间】:2010-12-01 14:45:13 【问题描述】:我们认为,我们正在开发的基于 Linux 的系统中的视频 RAM 已用完。我们发现视频和图形驱动程序段出现分配相关错误。
它们是否是我们可以用来确定在任何给定时间点有多少视频 RAM 可用的任何工具或技术?无论是外部应用程序还是我们在应用程序中构建的东西都会很棒。
任何想法/建议将不胜感激 -- 谢谢。
【问题讨论】:
您是否向编写您正在使用的视频驱动程序的人报告了该错误? 是的,问题已报告给供应商。我需要额外的“证据”证明视频内存实际上是问题所在。 【参考方案1】:据我所知,没有标准的方法。询问制造您正在使用的驱动程序的人。
根据您的驱动程序,您可能会使用 lspci。用 -v -v 详细运行它
$lspci -v -v | less
查找类似于您的视频卡驱动程序的东西,如果幸运的话,它可能会列出可用内存量。
【讨论】:
【参考方案2】:lspci
不能保证反映 VRAM 的总量。它只会通过bar
(mem
,或prefetch-mem
)将MMIO-ed的VRAM报告给cpu。但实际的 VRAM 可以更大。
对于同一张amd显卡,radeon
和amdgpu
可以看到与lspci
不同的mmio-ed vram,IIUC,对于hd8570
,radeon
只能MMIO 256M VRAM到CPU,但是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 驱动程序。
【讨论】:
以上是关于有没有办法确定 Linux 中可用视频 RAM 的数量?的主要内容,如果未能解决你的问题,请参考以下文章