Después de ver el comentario de Anónimo sobre la pregunta ¿Cómo se limpia el directorio / tmp? , Descubrí que sería una gran idea implementarlo en mi sistema, ya que tengo 16 GB de RAM y nunca lo usé todo.
Mis archivos temporales nunca se escriben en el disco. Se escriben en un disco RAM. Puse
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0en / etc / fstab.
Mi pregunta es:
¿Puedo establecer un valor máximo para el uso de RAM /tmp? Y en ese caso, ¿qué sucedería si se superara la cantidad máxima, escribiría en la unidad de disco duro?
He leído una solución que dice:
mkdir -p /tmp/ram sudo mount -t tmpfs -o size=512M tmpfs /tmp/ram/
Pero en mi opinión, esta no será una solución permanente. Si necesito que sea permanente, debe agregarse al /etc/fstabarchivo de configuración.
Si esta es la solución correcta, ¿cómo puedo transformar ese comando de montaje en una línea /etc/fstab?
fuente

Respuestas:
Tienes toda la razón. La entrada correspondiente de fstab se vería así:
Tenga en cuenta:
A medida que
tmpfsse llena, se comportará como cualquier disco duro físico al dar un error de "espacio insuficiente". Si bien el reinicio (y, por lo tanto, vaciar el caché) solucionará esto, puede tener problemas cuando una sola operación consume más espacio para empezar de lo que hay espaciotmpfs. En este caso, su computadora comenzará a cambiar de RAM a disco, lo que hará que su sistema se detenga, dado que tiene una partición de intercambio para comenzar, por supuesto.Teniendo esto en cuenta, un tamaño de 512 MB podría ser mucho menor hoy en día, ya que existe mucho más ram en las máquinas modernas y se ha vuelto mucho más barato. Como ya tienes 16 GB de RAM, usar el valor predeterminado de la mitad de tu RAM
tmpfsdebería ser más que suficiente para casi todos los escenarios. Para usar el valor predeterminado, simplemente omita lasize=512Mentrada en su/etc/fstabarchivo.Otra nota:
También puede montar fácilmente otras carpetas del sistema en ramdisk, como
/var/cache/var/games/var/log/apt(usar solodefaults,noatimesinmode=onosuid)Pero tenga cuidado: las mismas reglas se aplican como anteriormente, quedarse sin espacio puede causar grandes problemas. Por ejemplo, si se agota el espacio para / var / log / apt, no podrá instalar ningún programa. Además, al cargar
/var/logcarpetas en ramdisk se eliminarán todos los archivos de registro al reiniciar, por lo que no podrá depurar su sistema si ocurre algo inesperado. ¡Utilice esta configuración bajo su propio riesgo!Nota editorial: eliminé la opción
/runintmpfsmount ya que esta carpeta y sus subcarpetas ya están montadastmpfsde forma predeterminada.fuente
En los sistemas que usan
systemd, tiene la opción de usar un archivo de unidad systemd en lugar de fstab para lograr el objetivo de usartmpfspara montartmp. En mi sistema Ubuntu 16.04, ejecuté:El archivo se
/usr/share/systemd/tmp.mountve así:Usando el enfoque fstab de FuzzyQ, systemd traduce sus entradas fstab en unidades de montaje dinámicamente. No creo que ninguno de los enfoques sea mejor.
Para establecer el límite máximo para la RAM como se le solicitó, uno necesitaría agregar
size=512Ma laOptionslínea, separados por una coma.fuente
systemctl enable tmp.mountdespués de cp else systemctl fallará con el mensaje "Failed to start tmp.mount: Unit tmp.mount not found."systemctl edit tmp.mounteso que sería distro-neutral. Eso coloca sus cambios en override.conf para que no modifique tmp.mount predeterminado y pueda eliminar override.conf fácilmente para volver a la configuración predeterminada.ln -slugarcpdel primer paso.