有没有办法强制特定文件仅存在于 RAM 中?

ænd*_*rük 6 battery performance ssd disk

我喜欢这个安装 tmpfs/var/log以减少磁盘写入的建议。

有没有办法只对单个文件做类似的事情,比如~/.xsession-errors


我询问的动力来自PowerTOP

The program 'gnome-do' is writing to file '.xsession-errors' on /dev/sdb2.
This prevents the disk from going to powersave mode.
Run Code Online (Sandbox Code Playgroud)

但也可以想象,为了加速 IO 密集型程序,也可能想要这样做。

Ric*_*rri 5

不,您无法强制将单个文件写入磁盘。对文件的写入被传递给文件系统代码:如果文件系统由内存支持(例如,tmpfs),则数据被写入(虚拟)内存位置;如果文件系统由块设备(例如 ext3/4)支持,则数据将写入块设备。

但是,您可以将特定文件符号链接到文件系统中的某个位置tmpfs;只要:(1) 符号链接的目标存在,并且 (2) 链接未被删除并且文件在原始(基于磁盘的)文件系统中重新创建,这将起作用。

关于~/.xession-errors,在/etc/X11/Xsessionx11-common版本 1:7.5+5ubuntu1 的第 63--72 行)中有一些特殊处理:如果~/.xsession-errors已经是符号链接,则使用临时文件(在目录$TMPDIR或 中/tmp)。所以,如果你/tmp$TMPDIR文件系统从RAM安装,你就大功告成了。