Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Creando unidades de almacenamiento RAM en GNU/Linux.

Utilizar unidades de almacenamiento RAM en GNU/Linux puede ayudar a incrementar el rendimiento de algunas aplicaciones acelerando el acceso a datos temporales, hacer un menor uso del disco duro o unidad de almacenamiento y, bajo algunas circunstancias, puede ser una práctica saludable para sistemas donde está sub-utilizada la memoria RAM.

De acuerdo a Wikipedia, lo que se denomina como disco RAM, o, más apropiadamente, una unidad RAM, es una unidad de almacenamiento que usa una zona de memoria RAM del sistema como almacenamiento secundario en lugar de un medio magnético (como los discos duros y las disqueteras) o memoria flash, implementada como un controlador de dispositivo más. El tiempo de acceso mejora drásticamente, debido a que la memoria RAM es varios órdenes de magnitud más rápida que las unidades de disco reales. Sin embargo, la volatilidad de la memoria RAM implica que los datos almacenados en una unidad RAM se perderán si falla la alimentación (por ejemplo, cuando el sistema se apaga). Las unidades RAM suelen usarse para almacenar datos temporales o para guardar programas descomprimidos durante cortos periodos.

En GNU/Linux hay varios directorios que pueden utilizarse con unidades RAM, como por ejemplo /tmp y /var/tmp, así como cualquier directorio utilizado para datos temporales que tengan poca o ninguna importancia si el sistema se reinicia o apaga, como por ejemplo el directorio temporal utilizado por una aplicación HTTP.

El uno de los problemas que tiene este tipo de unidades es el limite del espacio máximo disponible. Por lo general y dependiendo de la cantidad de RAM con que disponga el sistema, el límite es casi del 50% de la memoria física. El límite se puede determinar utilizando el mandato df, el cual, además de mostrar las unidades de almacenamiento montadas, mostrará también el tamaño y uso del dispositivo /dev/shm (que corresponde a la memoria compartida o shared memory). El tamaño de /dev/shm puede ser tomado como parámetro para determinar el máximo de almacenamiento de una unidad RAM.

En un sistema con 1 GB de RAM, compartiendo memoria con la tarjeta de gráficos, es posible que el mandato df devuelva que /dev/shm tiene una capacidad aproximada de 496 MB.

Los dos directorios recomendados para utilizar como unidades RAM son /tmp, directorio de temporales del sistema cuyo contenido desaparece entre reinicios de sistema y /var/tmp, directorio temporal cuyo contenido puede prevalecer entre reinicios de sistema.

En general y a fin de evitar saturar la memoria del sistema, recomiendo asignar cantidades moderadas de espacio. Muchos documentos en Internet recomiendan 100 MB para /tmp y 30 MB para /var/tmp. En general está configuración es adecuada para muchos casos de uso general, sin embargo puede ser insuficiente para algunos procesos. Aplicaciones como ClamAV 0.95 requieren mucho más espacio en /var/tmp para poder descomprimir la base de datos de firma digitales. 30 MB asignados a /var/tmp son insuficientes e impedirán poder utilizar ClamAV como antivirus. Un espacio asignado de 80 a 100 MB es más apropiado.

Para /tmp, en general, muy rara vez se utilizarán más allá de unos poco MB, salvo que se utilicen programas para grabado de CD y DVD, siendo que de modo predeterminado utilizan /tmp de manera activa. Por tanto en circunstancias donde se hace uso de grabadores de discos compactos y DVD, es poco apropiado utilizar unidades RAM a menos que se disponga de una cantidad elevada de memoria RAM.

En general, en una ultra-portátil, se pueden configurar 100 MB para /tmp y 100 MB parta /var/tmp, lo cual podrá satisfaces la mayoría de las necesidades. En el caso de un servidor, dependiendo del tipo de aplicación utilizado, las dimensiones de /tmp, sobre todo y /var/tmp pueden requerir al menos 200 MB, aunque es raro se ocupe más allá de 50 MB. En el caso del servidor HTP de Alcance Libre, el directorio /tmp rara vez ocupa más allá de 50 MB.

El directorio /var/tmp, sin embargo, puede llegar a requerir mucho más espacio, siendo que es utilizado por programas como rpm, e indirectamente yum, por lo que durante una actualización de sistema, 30 MB, e incluso 50 MB, pueden ser muy pocos. Al actualizar el sistema, el mandato rpm descomprime los paquetes rpm, uno por uno, dentro de /var/tmp antes de instalar su contenido en el sistema. Si hay una actualización que involucre instalar un paquete muy grande, incluso 100 y hasta 200 MB pueden ser insuficientes. En estos casos, conviene dejar se asigne el 50% del RAM.

El otro problema que tienen las unidades RAM, es que su contenido siempre será volátil. Si el sistema se apaga o bien se reinicia, todo el contenido de la unidad RAM desaparecerá. Es por esto que solo se recomienda utilizar para contenido temporal.

Una vez tomados en cuenta por pormenores de utilizar unidades RAM, ahora solo queda configurar unidades RAM.

Se edita el archivo /etc/fstab, se define el dispositivo tmpfs, en punto de montaje (/tmp o /var/tmp), el formato tmpfs, opciones de montado (como el tamaño) y que jamás se verifique con fsck y que se carece de prioridad de montado. En el siguiente ejemplo se configura /tmp como unidad RAM:

tmpfs		/tmp		tmpfs	defaults		0 0

Con lo anterior, se deja que el sistema asigne la capacidad máxima, lo cual puede ser algo aproximado al 50% del RAM del sistema. Si se quiere establecer un tamaño definido, se añade el parámetro size, un signo de igual y el valor en megabytes que se quiera utilizar. En el siguiente ejemplo, se establecen 100 MB como tamaño para /tmp:

tmpfs		/tmp		tmpfs	defaults,size=100M	0 0

En el siguiente ejemplo, se establecen 80 MB como tamaño para /var/tmp:

tmpfs		/var/tmp	tmpfs	defaults,size=80M	0 0

Para que surtan efectos los cambios, se recomienda reiniciar el sistema.


Atención: Salvo que se indique lo contrario, la licencia del texto de este documento es Creative Commons Reconocimiento 2.5, mediante la cual usted tiene permitido copiar, modificar, comunicar y distribuir el contenido de este texto, de manera total o parcial, y publicarlo o difundirlo en cualquier otro sitio de Internet o medio de comunicaciòn, siempre y cuando incluya o cite (1)el nombre de este sitio de Internet, (2)enlace permanente de este documento, (3)nombre del autor y (4)la misma licencia de distribución.

Opciones: Imprimir | Recomendar | Enlace permanente

Twitter Facebook Google Bookmarks Bitacoras.com Wikio Menéame Technorati Bloglines Digg Yahoo Buzz

Seguimientos (Trackback)

URL de seguimiento para esta entrada:
http://www.alcancelibre.org/trackback.php/creando-unidades-ram-gnu-linux

[...] /var/tmp tmpfs defaults,size=80M 0 0 Para que surtan efectos los cambios, se recomienda reiniciar el sistema.FuenteSHARETHIS.addEntry({ title: "Creando unidades de almacenamiento RAM en GNU/Linux", url: [...] [leer más]

  • Creando unidades de almacenamiento RAM en GNU/Linux.
  • 0comentarios
  • Crea cuenta nueva
Agregar comentario

Los siguientes comentarios son de la persona que los haya enviado. Este sitio se deslinda de cualquier responsabilidad respecto de las opiniones expresadas por los participantes en nuestros foros y secciones de comentarios, y el hecho de publicar las mismas no significa que se esté de acuerdo con éstas.