Linux 如何临时将文件写入文件系统,但实际将其保存在RAM上?
我有一个服务器接收HTTP请求中的文件,我想让该文件可用于另一个进程,但我不希望将该文件写入磁盘的I/O开销 linux中是否有实际映射到RAM的目录,以便我启动的进程可以像访问普通文件一样访问路径Linux 如何临时将文件写入文件系统,但实际将其保存在RAM上?,linux,file,ram,Linux,File,Ram,我有一个服务器接收HTTP请求中的文件,我想让该文件可用于另一个进程,但我不希望将该文件写入磁盘的I/O开销 linux中是否有实际映射到RAM的目录,以便我启动的进程可以像访问普通文件一样访问路径 我知道,如果在普通文件中执行此操作,那么由于缓存的原因,文件很有可能不会被刷新到磁盘,但这不是我要寻找的。没有保证有RAM支持的位置,但是如果您有足够的RAM可用。鉴于此,它是RAM磁盘的理想选择,因为断电导致的数据丢失并不重要;无论如何,数据在启动时都会被清除。如果您想确保特定文件在RAM中,可以
我知道,如果在普通文件中执行此操作,那么由于缓存的原因,文件很有可能不会被刷新到磁盘,但这不是我要寻找的。没有保证有RAM支持的位置,但是如果您有足够的RAM可用。鉴于此,它是RAM磁盘的理想选择,因为断电导致的数据丢失并不重要;无论如何,数据在启动时都会被清除。如果您想确保特定文件在RAM中,可以使用vmtouch()。但是,文件将被写入磁盘。您可以使用以下方法创建RAM磁盘(根据):
还有像Redis这样的缓存库,经常用于解决这类问题。例如:共享内存、套接字。@KarolyHorvath我无法控制另一个程序,只有一个接收文件路径作为参数的命令行API。鉴于
/tmp
在引导时已被清除。尽管我同意,但任何人都不应该依赖/tmp
中的内容。
mkdir /mnt/ramdisk
mount -t ramfs -o size=512m ramfs /mnt/ramdisk