Mengapa / tmp tidak menggunakan tmpfs?

17

Saya memiliki banyak RAM dan saya menggunakan sangat sedikit. Saya juga merekam beberapa screencast dengan gtk-recordmydesktop, yang secara default disimpan /tmpsaat merekam. Saya berasumsi bahwa itu berarti menyimpan ke RAM sebanyak mungkin, tetapi kemudian saya benar-benar memeriksa dan menemukan bahwa /tmptidak terpasang dengan tmpfs. Mengapa demikian?

Jo-Erlend Schinstad
sumber
Lihat laporan bug ini .
jarno

Jawaban:

16

Saya pikir Anda menjawab pertanyaan Anda sendiri. Banyak program yang digunakan /tmpuntuk menyimpan file sementara, dan mereka bisa sangat besar.

Misalnya Brasero default ke direktori itu untuk menyimpan file gambar CD / DVD, yang bisa berukuran 4,7 GB. Ini tidak layak mengambil risiko perlambatan serius (atau penguncian sistem) dalam situasi kehabisan memori jika RAM dan swap Anda penuh.

Untuk pengguna tingkat lanjut, tidak ada masalah untuk mengubah default beberapa aplikasi dan mount /tmpsebagai tmpfs. Untuk penggunaan umum, itu tidak sepadan dengan risikonya.

mengatur
sumber
1
Dan, saya pikir Anda mungkin sedikit marah dan mengutuk para pengembang jika Anda merekam beberapa screencast besar dan kemudian, setelah pemadaman listrik atau hambatan sistem, kehilangan semuanya. ;)
atur
Dan barang-barang di / tmp bahkan mungkin berada di dalam RAM dan tidak pernah menyentuh disk jika Anda menggunakan ext4.
LasseValentini
@Fraekkert: Apa maksudmu? Mengapa ext4? Mengapa tidak pernah Bisakah Anda menjelaskan lebih lanjut?
atur
1
Ini tidak unik untuk ext4, tetapi karena alokasi yang tertunda . Pada dasarnya itu berarti bahwa file tidak harus ditulis ke disk hanya karena suatu program memberitahu os untuk melakukannya. Sebaliknya disimpan di ram untuk akses cepat. Jika file dihapus relatif cepat setelahnya, ia tidak akan pernah mencapai disk. Lihatlah wikipedia jika Anda memerlukan info lebih lanjut.
LasseValentini
1
Untuk referensi, berikut adalah komentar yang menjelaskan topik 5/30 detik secara terperinci: bugs.launchpad.net/ubuntu/+source/linux/+bug/317781/comments/45
lxgr
10

Bagaimana dengan kompresi zram?

Ruang yang tersedia lebih dari 256 Mbytes, tergantung pada jenis file.

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
Massimo
sumber
Itu sebenarnya ide yang sangat menarik ... akan mencoba ini :)
Piskvor