Почему /tmp не использует tmpfs?

У меня много оперативной памяти, и я использую очень мало. Я также делаю запись некоторых скринкастов с gtk-recordmydesktop, который по умолчанию сохраняет в /tmp во время записи. Я предполагал, что это будет означать хранение в ОЗУ как можно больше, но потом я на самом деле проверил и обнаружил, /tmp не монтируется с tmpfs. Это почему?

3 ответа

Решение

Я думаю, что вы ответили на свой вопрос. Многие программы используют /tmp для хранения временных файлов, и они могут быть огромными.

Например, Brasero по умолчанию использует этот каталог для хранения файла образа CD/DVD, размер которого может составлять 4,7 ГБ. Не стоит рисковать серьезным замедлением (или блокировкой системы) в ситуации нехватки памяти, если ваша память и своп заполнены.

Для опытных пользователей нет проблем изменить настройки некоторых приложений по умолчанию и смонтировать /tmp как tmpfs, Для общего использования это просто не стоит риска, я думаю.

Как насчет сжатия Zram?

Доступное пространство более 256 Мбайт, это зависит от типа файлов.

modprobe zram num_devices=1 
# max ram usage = 256 Mbytes
echo 262144 > /sys/block/zram0/disksize
mke2fs -q -m 0 -b 4096 -O sparse_super -L zram /dev/zram0
mount -o relatime,noexec,nosuid /dev/zram0 /tmp

Была идея использовать tmpfs, когда на ней достаточно места, и записывать на диск, когда вам не хватает места: http://www.bigdbahead.com/?p=137 Однако, это никогда не происходило. Мне удалось заставить его работать, но накладные расходы FUSE сводят на нет все преимущества использования tmpfs: http://shnatsel.blogspot.com/2011/11/miniwheatfs-aka-reliable-ramdisks.html

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