Disco RAM en Linux

Hace mucho que Linux (y otros sistemas operativos) permiten el empleo de discos RAM como espacio de trabajo no persistente de alta velocidad a costa de invertir en ellos memoria RAM.

No voy a describir por qué nos puede interesar un disco RAM y cuáles son sus inconvenientes. Para eso tenéis la página de la Wikipedia. La forma de trabajar con disco RAM en Linux ha ido cambiando también con el paso del tiempo; aquí voy a tratar la forma contemporánea. Antiguamente había que crear los discos RAM en la configuración de arranque de Linux, de forma estática. Afortunamente hemos superado eso.

Hoy en día hay dos maneras básicas de usar la memoria de un ordenador Linux como disco RAM:

  • Creando un dispositivo de bloques en memoria RAM, particionándolo y formateándolo para el uso que necesitemos. Este sistema tiene una mayor sobrecarga y es más inflexible, pero su ventaja fundamental es que Linux puede emplear ese dispositivo para cualquier uso válido de un dispositivo de bloques general. Por ejemplo, se puede usar como espacio de intercambio o swap.

    Algunos ejemplos de esta aproximación son ZRAM y ZSWAP. No los voy a tratar en este artículo.

  • Creamos un dispositivo disco RAM con semántica directa de sistema de ficheros. No simula un dispositivo de bloques sobre el que creamos un sistema de ficheros, sino que implementa el sistema de ficheros directamente en memoria RAM.

    Este enfoque es mucho más eficiente y práctico. Una ventaja clara es que cuando se borra un fichero del disco RAM se reduce el espacio ocupado. Naturalmente, este dispositivo solo sirve para almacenar ficheros, no simula ni se puede utilizar como un dispositivo de bloques.

Leer más…