我怎样才能暂时将文件写入文件系统但实际上将其保存在RAM上?

时间:2016-06-08 13:45:30

标签: linux file ram

我有一个服务器在HTTP请求中接收文件,我想将该文件提供给另一个进程,但我不希望将该文件写入磁盘的I / O开销。

linux中是否有任何实际映射到RAM的目录,因此我启动的进程可以像普通文件那样访问路径?

我知道如果我在普通文件中执行此操作,那么由于缓存,文件很可能实际上不会刷新到磁盘,但这不是我正在寻找的。

3 个答案:

答案 0 :(得分:3)

没有保证的位置由RAM支持,但it's not particularly hard to convert /tmp to be backed by RAM如果你有足够的RAM备用。鉴于/tmp is cleaned out on boot anyway,它是RAM磁盘的理想选择,因为功率损耗导致的数据丢失无关紧要;无论如何,数据都会在启动时被清除。

答案 1 :(得分:1)

您可以使用以下内容创建RAM磁盘(根据these instructions):

mkdir /mnt/ramdisk
mount -t ramfs -o size=512m ramfs /mnt/ramdisk

答案 2 :(得分:0)

如果您想确保特定文件是/留在RAM中,可以使用vmtouch(https://hoytech.com/vmtouch/)。但是,该文件将写入磁盘。