Чому / tmp не використовує tmpfs?


17

У мене є багато оперативної пам’яті, і я використовую дуже мало. Я також записую деякі скріншоти gtk-recordmydesktop, які за замовчуванням зберігаються під /tmpчас запису. Я припускав, що це означатиме максимально збереження оперативної пам’яті, але тоді я фактично перевірив і виявив, що /tmpвін не змонтований у форматі tmpfs. Чому так?


Відповіді:


16

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

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

Для досвідчених користувачів не проблема змінити стандартні параметри деяких програм і встановити /tmpяк tmpfs. Для загального використання це, мабуть, не варто.


1
І, я думаю, ви можете трохи розсердитися і проклинати розробників, якщо ви записали кілька чудових екранізованих записів, а потім, після відключення електроенергії або підключення системи, втратили їх усіх. ;)
влаштовуйте

А речі в / tmp можуть навіть перебувати в оперативній пам'яті і ніколи не торкатися диска, якщо ви використовуєте ext4.
LasseValentini

@Fraekkert: Що ти маєш на увазі? Чому ext4? Чому ніколи? Чи можете ви докладно уточнити?
організуйте

1
Це не є унікальним для ext4, але це через затримку розподілу . По суті, це означає, що файли не обов'язково записуються на диск лише тому, що програма говорить оператору. Натомість його зберігають у таранці для швидкого доступу. Якщо після цього файл буде видалено відносно швидко, він ніколи не дістанеться до диска. Перегляньте wikipedia, якщо вам потрібна додаткова інформація.
LasseValentini

1
Для довідки, ось коментар, що детально пояснює тему 5/30 секунд: bugs.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45
lxgr

10

А як щодо стиснення 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

Це насправді досить цікава ідея ... спробую це :)
Piskvor

8

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.