Dlaczego / tmp nie używa tmpfs?


17

Mam dużo pamięci RAM i używam bardzo mało. Nagrywam też niektóre screencasty gtk-recordmydesktop, które domyślnie zapisują się /tmppodczas nagrywania. Zakładałem, że oznaczałoby to przechowywanie w pamięci RAM tak dużo, jak to możliwe, ale tak naprawdę sprawdziłem i stwierdziłem, że /tmpnie jest zamontowany z tmpfs. Dlaczego?


Odpowiedzi:


16

Myślę, że odpowiedziałeś na własne pytanie. Wiele programów używa /tmpdo przechowywania plików tymczasowych i mogą być ogromne.

Na przykład Brasero domyślnie zapisuje w tym katalogu plik obrazu płyty CD / DVD, który może mieć rozmiar 4,7 GB. Nie warto ryzykować poważnego spowolnienia (lub blokady systemu) w sytuacji braku pamięci, jeśli pamięć RAM i swap zostaną zapełnione.

Zaawansowanym użytkownikom nie ma problemu zmienić domyślne ustawienia niektórych aplikacji i zamontować /tmpjako tmpfs. Chyba do ogólnego użytku po prostu nie warto ryzykować.


1
I myślę, że możesz się trochę rozgniewać i przekląć twórców, jeśli nagrałeś kilka świetnych screencastów, a następnie, po awarii zasilania lub awarii systemu, straciłeś je wszystkie. ;)
umów się

A rzeczy w / tmp mogą nawet znajdować się w pamięci RAM i nigdy nie dotykać dysku, jeśli używasz ext4.
LasseValentini,

@Fraekkert: Co masz na myśli? Dlaczego ext4? Dlaczego nigdy Czy możesz opracować proszę?
umów się

1
Nie jest to unikalne dla ext4, ale wynika to z opóźnionego przydzielania . Zasadniczo oznacza to, że pliki niekoniecznie są zapisywane na dysk tylko dlatego, że program każe to zrobić. Zamiast tego jest przechowywany w pamięci RAM dla szybkiego dostępu. Jeśli plik zostanie następnie stosunkowo szybko usunięty, nigdy nie dotrze do dysku. Zajrzyj na wikipedię, jeśli potrzebujesz więcej informacji.
LasseValentini

1
Dla odniesienia, oto komentarz wyjaśniający szczegółowo temat 5/30 sekund: bugs.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45
lxgr

10

Co z kompresją zram?

Dostępna przestrzeń to ponad 256 MB, zależy to od typu plików.

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

To naprawdę ciekawy pomysł ... wypróbuje to :)
Piskvor

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.