使用多余的视频内存进行磁盘缓存?

使用多余的视频内存进行磁盘缓存?

在较新的基于 Ryzen 5000 的笔记本电脑上,集成图形控制器始终获得至少 1GB 的共享视频内存。 BIOS设置中,最小为1GB。对于那些因为主要使用 2D 图形而不需要 1GB 的视频内容的人来说,有没有办法获取一些共享视频内存并让 Linux 或 BSD 内核将其用于磁盘文件缓存?

答案1

你不能。该内存被固定用于与 GPU 通信,并且不能简单地由操作系统重新利用。

您有一个典型的误解,即 2D 应用程序图形不需要太多内存。如今,GPU 用于合成,这意味着您在浏览器、Xemacs 或任何其他窗口中看到的所有内容实际上都保存(并计算!)在 GPU RAM 中。你在窗口之间切换通常只意味着 X.org 告诉你的 GPU“嘿,你的 RAM 中有这个纹理,请现在把它放在前面”。更不用说您的浏览器(假设是 firefox 或 chromium)让 GPU 计算您在屏幕上看到的内容。这意味着当前打开的所有页面(并且尚未根据需要重新计算,这种情况发生在非常旧的选项卡上)全部保存在 GPU RAM 中,而不仅仅是可见部分。

只是为了说明:我有两个屏幕,可能打开了 12 个终端 (alacritty) 窗口、6 个打开的 PDF、22 个 Firefox 选项卡、一个聊天程序和一个文件管理器窗口:它占用了近 2 GB 的 GPU RAM。

不知道您的 GPU 和驱动程序对视频解码的支持,但请考虑它也需要 GPU RAM。

因此,总而言之,即使技术上可以(实际上不可能)将 RAM 从 GPU 中取出,您也可能会给自己带来伤害,因为由 GPU 在 RAM 中快速计算的内容必须由 CPU 在用户可用 RAM 中缓慢计算(并且功耗效率较低!)。尤其是在笔记本电脑上,这听起来是一个非常糟糕的主意!

相关内容