将文件加载到 RAM 中

将文件加载到 RAM 中

我有一个应用程序,每次运行时都会打开一个大文件(大约 1-2GB)。

出于开发/测试的原因,我需要不断重新启动应用程序,从 HDD 加载文件的 30s-1m 等待时间变得有点不方便。

有没有办法将文件放入 RAM 中(并将其保留在那里),以便加载速度更快?

答案1

如果你的系统有足够的 RAM,该文件应该被缓存在内存中,因此不应该每次都从驱动器中重新读取。

您可以尝试通过将文件复制到tmpfs文件系统来强制解决问题,然后从那里加载它。tmpfs文件系统是基于 RAM 的。现在大多数发行版都使用tmpfsfor /tmp,因此将文件复制到那里就可以了;如果需要,您可以自己mounttmpfs其他地方并将文件复制到那里。但是,如果内存不足,a 的内容tmpfs可以被交换出,因此您最终可能会从交换中读取。

答案2

文件系统应该已经缓存文件如果你有足够的内存。

但是,要为此目的创建专用的 2GiB RAM 磁盘,/tmp/ramdisk您可以执行以下操作:

sudo mkdir /tmp/ramdisk
sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk

相关内容