我有一个应用程序,每次运行时都会打开一个大文件(大约 1-2GB)。
出于开发/测试的原因,我需要不断重新启动应用程序,从 HDD 加载文件的 30s-1m 等待时间变得有点不方便。
有没有办法将文件放入 RAM 中(并将其保留在那里),以便加载速度更快?
答案1
如果你的系统有足够的 RAM,该文件应该被缓存在内存中,因此不应该每次都从驱动器中重新读取。
您可以尝试通过将文件复制到tmpfs
文件系统来强制解决问题,然后从那里加载它。tmpfs
文件系统是基于 RAM 的。现在大多数发行版都使用tmpfs
for /tmp
,因此将文件复制到那里就可以了;如果需要,您可以自己mount
到tmpfs
其他地方并将文件复制到那里。但是,如果内存不足,a 的内容tmpfs
可以被交换出,因此您最终可能会从交换中读取。
答案2
文件系统应该已经缓存文件如果你有足够的内存。
但是,要为此目的创建专用的 2GiB RAM 磁盘,/tmp/ramdisk
您可以执行以下操作:
sudo mkdir /tmp/ramdisk sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk