martes, 30 de noviembre de 2010


Un ramdisk consiste en utilizar la memoria RAM como si se tratase de un disco de almacenamiento secundario. Tenemos que tener en cuenta, que el espacio utilizado como ramdisk no podra ser utilizado para albergar procesos, por lo que reducimos la cantidad de memoria para el funcionamiento normal del equipo, lo que puede reducir considerablemente el rendimiento de nuestro equipo. Pero si estamos "sobrados" de RAM, y queremos que cierta información sea muy rapidamente accesible (por ejemplo la cache de un programa webcache, un fichero de base de datos... etc) podemos ubicarla directamente en en memoria RAM. Para realizar esto, tenemos que saber que la memoria ram esta montada directamente en /dev/shm, de tal manera que todo lo que guardemos en dicha carpeta se almacena directamente en memoria RAM. Además, dicho directorio puede ser escrito por cualquier usuario, ya que es un directorio para archivos temporales con el stickybit activo. Esto en cierto modo es peligroso, ya que un usuario malintencionado se podria dedicar a llenar dicha carpeta hasta dejar al equipo sin memoria RAM disponible. Para evitarlo podemos modificar el fstab modificando los permisos de escritura en dicha carpeta, o directamente, que no lo monte. 
También, debemos saber que el contenido de dicha carpeta se borrara al apagar el equipo, ya que la memoria RAM es volatil.
Veamos como podemos crear un ramdisk de un determinado tamaño. Por ejemplo, para crear un ramdisk de 512MB, introduciremos el siguiente comando:

Podemos observar en el resultado de df, que hemos creado un ramdisk de 512MB, y esta ubicado en /mnt/memory. Si queremos modificar los permisos por defecto para tmpfs podemos incluir la opción mode=0700 (todos los permisos para root). Podemos comprobar con el comando free como al copiar ficheros a la carpeta del ramdisk disminuye la cantidad de RAM libre.

0 comentarios: