Существует ли способ вынудить определенный файл существовать в RAM только?

Мне нравится это предложение монтирования 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.

но можно было также очевидно хотеть сделать это для ускорения программы IO-intensive.

6
задан 13 April 2017 в 15:24

1 ответ

Нет, нет никакого способа, которым можно вынудить единственный файл не быть записанным в диск. Записи в файл передаются к коду файловой системы: если файловая система поддерживается памятью (например, tmpfs) затем данные записаны в (виртуальную) ячейку памяти; если файловая система поддерживается блочным устройством (например, ext3/4) затем, данные записаны в блочное устройство.

Вы можете, однако, символьная ссылка определенный файл к местоположению в a tmpfs файловая система; это будет работать настолько же долго как: (1) место назначения символьной ссылки существует и (2) ссылка не удалена, и файл воссоздается в исходной (находящейся на диске) файловой системе.

Касающееся ~/.xession-errors, существует некоторый специальный режим в /etc/X11/Xsession (строки 63 - 72 с x11-common версия 1:7.5+5ubuntu1): если ~/.xsession-errors уже символьная ссылка, затем временный файл (в каталоге $TMPDIR или /tmp) используется вместо этого. Так, если Ваш /tmpили $TMPDIR файловая система смонтирована от RAM, Вы сделаны.

5
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: