¿Por qué / tmp no usa tmpfs?

17

Tengo mucha RAM y uso muy poco. También grabo algunos screencasts gtk-recordmydesktop, que por defecto se guardan /tmpdurante la grabación. Supuse que significaría almacenar en RAM tanto como sea posible, pero en realidad lo comprobé y descubrí que /tmpno está montado con tmpfs. ¿Porqué es eso?

Jo-Erlend Schinstad
fuente
Ver este informe de error .
jarno

Respuestas:

16

Creo que respondiste tu propia pregunta. Se utilizan muchos programas /tmppara almacenar archivos temporales, y pueden ser enormes.

Por ejemplo, Brasero usa de manera predeterminada ese directorio para almacenar un archivo de imagen de CD / DVD, que puede tener un tamaño de 4,7 GB. No vale la pena arriesgarse a una desaceleración grave (o un bloqueo del sistema) en una situación de falta de memoria si su RAM y el intercambio se llenan.

Para usuarios avanzados no hay problema en cambiar los valores predeterminados de algunas aplicaciones y montarlas /tmpcomo tmpfs. Para uso general, simplemente no vale la pena el riesgo, supongo.

organizar
fuente
1
Y, creo que podría enojarse un poco y maldecir a los desarrolladores si grabó algunos screencasts geniales y luego, después de un corte de energía o un problema del sistema, los perdió a todos. ;)
organizar el
Y las cosas en / tmp incluso pueden residir en la RAM y nunca tocar el disco si usa ext4.
LasseValentini
@Fraekkert: ¿Qué quieres decir? ¿Por qué ext4? ¿Porque nunca? ¿Puedes elaborar por favor?
organizar el
1
No es exclusivo de ext4, pero se debe a la asignación retrasada . Esencialmente significa que los archivos no se escriben necesariamente en el disco solo porque un programa le dice al sistema operativo que lo haga. En cambio, se mantiene en el carnero para un acceso rápido. Si el archivo se elimina relativamente rápido a partir de entonces, nunca llegará al disco. Echa un vistazo a wikipedia si necesitas más información.
LasseValentini
1
Como referencia, aquí hay un comentario que explica el tema de 5/30
lxgr
10

¿Qué pasa con la compresión zram?

El espacio disponible es de más de 256 Mbytes, depende del tipo de archivos.

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
fuente
Esa es una idea bastante interesante ... probaré esto :)
Piskvor