Почему /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