我有一个服务器在HTTP请求中接收文件,我想将该文件提供给另一个进程,但我不希望将该文件写入磁盘的I / O开销。
linux中是否有任何实际映射到RAM的目录,因此我启动的进程可以像普通文件那样访问路径?
我知道如果我在普通文件中执行此操作,那么由于缓存,文件很可能实际上不会刷新到磁盘,但这不是我正在寻找的。 p>
答案 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/)。但是,该文件将写入磁盘。