Usando tmpfs
Hay un dispositivo de memoria estándar en cada sistema Linux (excepto en algunas maquinas virtuales) esta es /dev/shm.
Cuando ejecutas
mount
Probablemente veas algo asi:
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
Por defecto esto es casi la mitad del tamaño de la memoria de tu sistema, puedes comprobar esto ejecutando
df -h /dev/shm
entonces si tienes 4GB de memoria RAM, su tamaño sera casi 2GB.
Puedes usar /dev/shm como si fuera un disco duro normal, por ejemplo puede copiar un archivo a el:
cp -af test.tar.gz /dev/shm/
Así el archivo estará guardado en la memoria:
ls -la /dev/shm/
server1:/# ls -la /dev/shm/
total 316
drwxrwxrwt 18 root root 380 2008-11-27 16:06 .
drwxr-xr-x 12 root root 3780 2008-11-27 15:33 ..
-rw-r--r-- 1 root root 311636 2003-04-02 20:00 test.tar.gz
server1:/#
Si quisieras cambiar el tamaño de /dev/shm puedes hacer lo siguiente:
mount -o remount,size=3G /dev/shm
Ten cuidado al momento de cambiar el tamaño, ya que si lo haces muy grande y usas todo el espacio, entonces dejaras menos RAM para el resto del sistema y podrías causar un comportamiento no deseado.
Ahora supongamos que deseas crear una especie de archivo cache para el mayor tráfico de tu sitio web en el directorio /var/www/www.ejemplo.com/cache. Por supuesto que seria bueno tener ese cache en la memoria RAM, así que veamos como hacerlo:
Primero crea el directorio:
mkdir -p /var/www/www.ejemplo.com/cache
Ahora montas el directorio como un dispositivo de memoria (con un tamaño de 100MB y permisos de 755):
mount -t tmpfs -o size=100M,mode=0755 tmpfs /var/www/www.ejemplo.com/cache
Dale una mirada a:
mount
Y veras esto:
tmpfs on /var/www/www.example.com/cache type tmpfs (rw,size=100M,mode=0755)
Eso quiere decir que ahora puedes copiar archivos directamente a la memoria.
Si deseas tener ese directorio montado al momento de iniciar el sistema, edita el archivo /etc/fstab...
Y agrega algo así:
[...]
tmpfs /var/www/www.example.com/cache tmpfs size=100M,mode=0755 0 0
[...]
OJO: Cada vez que reinicies el sistema todo lo que este en /dev/shm se perderá.
Fuente.
No hay comentarios:
Publicar un comentario