Relatos de un suscriptor: Por Alberto, AL2, pi-domus del Canal Xeon de Telegram.
Asociamos Xeon a servidores, asociamos servidores a equipos con ingentes cantidades de recursos, con procesadores poderosos y memoria RAM “casi infinita”. Pero como se ha podido comprobar nos los compramos (o esperamos a una oportunidad para hacerlo) como si fuese un “sobremesa” más… que es uno de los muchos posibles usos de un PC de estas características.
Para nuestros X99, y similares de otras “placaschinas” como son X79 y X58, así como también de otras plataformas “noplacaschinas”, incluso de las de última generación de escritorio o portátil, es posible que nos habremos hecho no con “ingentes cantidades”, si no con la “cantidad justa” de RAM para poder poner a funcionar nuestros equipos. Puedes tener más o menos cantidad, pero tener RAM no usada “y enchufada” se puede considerar una pérdida de recursos, o recursos infrautilizados.
Dar al menos un posible uso a esos recursos “sobrantes” es la meta de esta entrada. Vamos a ello:
Qué es un RAMDISK
Resumiendo mucho mucho mucho, puesto que ya lo veremos en próximos episodios, un RAMDISK es un dispositivo de disco virtual que se utiliza para almacenar temporalmente datos en la memoria RAM gracias a que vamos a dar uso a su gran poder de velocidad de transferencia de datos.
Para comparar la velocidad de un RAMDISK con la de un disco duro tradicional, un SSD y un NVME, es importante tener en cuenta las velocidades de escritura y lectura secuenciales y aleatorias de cada dispositivo:
- Disco duro (HDD): la velocidad promedio de escritura es de alrededor de 100 MB/s, mientras que de lectura es de unos 120 MB/s.
- Unidad de estado sólido (SSD): la velocidad promedio de escritura es de unos 500 MB/s, y la lectura de alrededor de 550 MB/s.
- NVME: la velocidad promedio de escritura es de unos 2000 MB/s, mientras que la velocidad promedio de lectura es de unos 2500 MB/s.
No vamos a entrar en el tema de velocidades secuenciales y aleatorias, aunque puedo recomendar una búsqueda rápida en Wikipedia, por ejemplo.
En cuanto a las velocidades de las memorias RAM, aquí vienen algunas velocidades “promedio” de las diferentes generaciones:
- DDR3: la velocidad promedio varía entre 800 MHz y 2133 MHz, lo que equivale a una velocidad de transferencia de datos de hasta 17 GB/s.
- DDR4: la velocidad promedio varía entre 2133 MHz y 3200 MHz, lo que equivale a una velocidad de transferencia de datos de hasta 25 GB/s.
- DDR5: la velocidad promedio varía entre 4800 MHz y 6400 MHz, lo que equivale a una velocidad de transferencia de datos de hasta 76 GB/s.
Un recurso interesante sería la tasa de transferencia de velocidad, latencia y voltaje de la RAM.
También hay que tener muy en cuenta también el tema del uso los “channels” de la RAM.
Este “bench” muestra las cifras de la que tengo en este momento ¿Y tú, cómo vas de RAM?
Resumiendo este tema, la velocidad de transferencia que un RAMDISK puede alcanzar es mucho más rápida que la de un disco duro, un SSD o un NVME pueden alcanzar puesto que pueden medirse en escala “mega”, ya que la memoria RAM es mucho más rápida en términos de velocidad de transferencia de datos, ya que esta se puede medir mejor en “gigas”.
La velocidad de un RAMDISK dependerá de la frecuencia y los canales disponibles de la memoria utilizada.
Algún método para averiguar la velocidad de un RAMDISK en Linux y Windows:
En Linux:
- Hay que crear un punto de montaje, para ello abre el terminal y teclea:
mkdir /media/ramdisk.
- Después hay que crear un RAMDISK utilizando el comando:
mount -t tmpfs -o size=2G tmpfs /media/ramdisk.
Esto creará un RAMDISK de 2 GB en el directorio /media/ramdisk. Si cambias la “x” de “size=xG” podrás crearla del tamaño que quieras, (ojo con hacer muy grande el RAMDISK).
- Ejecutar los comandos para las pruebas de escritura y lectura:
dd if=/dev/zero of=/media/ramdisk/zero bs=100k count=10000
para la prueba de escritura al nuevo RAMDISK.
dd if=/media/ramdisk/zero of=/dev/null bs=4k count=10000
dd if=/media/ramdisk/zero of=/dev/null bs=100k count=10000
dd if=/media/ramdisk/zero of=/dev/null bs=1000k count=10000
para las pruebas de lectura del RAMDISK.
(Nota: no lances estos comandos hacia tus unidades de almacenamiento, para eso hay otros comandos que se verán un poco más adelante.)
El primer comando escribirá 1000 MB de datos en el RAMDISK creado anteriormente, y mostrará la velocidad de escritura; los otros 3 comandos lanzarán 3 tamaños de archivo, de 4k, 100k y 1000k y mostrarán la velocidad de lectura.
Después de la prueba no te olvides de borrar el archivo o tendrás ocupado un “giga” (lleno con datos “zero”) de tu preciada memoria RAM 😜. Si desmontas el RAMDISK se perderán los datos.
La ruta “/media” se suele utilizar para montaje de los medios removibles, para los fijos generalmente se usa “/mnt”, pero a fin de cuentas, para ponerlo a funcionar, se puede montar en cualquier ruta; simplemente esas rutas se utilizan para tenerlas localizadas y para no tener que buscar en toda la raíz “/”.
- Para quitar el RAMDISK que acabas de crear, asumo que tienes todavía la terminal abierta; primero habría que desmontar la partición, esto se puede hacer con: umount /media/ramdisk, y después está la opción que elimina la carpeta /media/ramdisk usando: rmdir /media/ramdisk.
Esto es lo que sale en el equipo de uso habitual, en el que estoy escribiendo esto; a ti te saldrán otras lecturas.
Si quieres averiguar las velocidades de lectura de tus unidades de almacenamiento, como pueden ser de disco duro, SSD o NVME, una de las opciones que puedes usar:
hdparm -tT --direct /dev/sdx
deberás sustituir “sdx” por el nombre que asigne tu sistema a las unidades que tengas montadas, esto podrás verlo con la herramienta gnome-disks. O si eres más de terminal puedes usar:
sudo fdisk -l
La herramienta gnome-disks tiene su propio comprobador de velocidades de los discos, pero si están en uso no dejará verlo al dar error. Una manera de verlo es usando un USB-Live de alguna distribución Linux y desde ahí pasar la herramienta.
En Windows:
- Para empezar: como primera opción puedes descargar e instalar ImDisk Toolkit. Hay alternativas a este software que se tratarán en los otros episodios de esta serie.
- Después, crea un RAMDISK utilizando el software instalado. Selecciona el tamaño y la letra de unidad deseada para el RAMDISK.
- Para las pruebas de velocidad: descargar y ejecutar la herramienta de benchmark CrystalDiskMark. Selecciona el RAMDISK en la lista de dispositivos de almacenamiento y ejecuta una prueba de velocidad de lectura y escritura, como si de un disco o pincho se tratase.
- Para contrastar, si quieres, descarga y ejecuta la herramienta ATTO Disk Benchmark. Selecciona el RAMDISK en la lista de dispositivos de almacenamiento y ejecuta de nuevo una prueba de velocidad de lectura y escritura. Es posible que entre los 2 benchmarks encuentres pequeñas diferencias pero servirán para hacerte una idea.
Para poner las capturas de windows tengo varios problemas, entre que no lo uso, entre que soy un vago, entre que de verdad no me apetece, y que entre que tendría que parar de computar para DENIS@home en @boinc, apagar el sistema y darle al arranque dual… así que creo que voy a pasar de ellas. Que nadie se moleste, por favor…
Si sabes de algún método diferente para averiguar las velocidades de escritura y lectura, tanto para linux como para windows no dudes en ponerlo en los comentarios.
……….
Usos de un RAMDISK
Para continuar pensaba una cosa así: “El uso que le puedas dar depende de ti y de tu RAM…”, aunque la frase podría resultar confusa o inexacta. En realidad, el uso que se le puede dar a un RAMDISK depende de varios factores, como la cantidad y tipo de memoria RAM disponible en el sistema, el tamaño del RAMDISK que se quiere crear y el propósito para el que se desea utilizar el RAMDISK. Pero vas a ser tú al final quien decidirá…
Es importante tener en cuenta que, aunque un RAMDISK proporciona un acceso mucho más rápido a los datos que un disco duro o un SSD e incluso un NVME de última generación, la memoria RAM utilizada para el RAMDISK es obvio que no estará disponible para otras aplicaciones o procesos del propio sistema.
Por lo tanto, es importante asegurarse de que hay suficiente memoria RAM disponible antes de crear un RAMDISK sin afectar negativamente el rendimiento general.
Un consejo en esta parte puede ser no ocupar con el RAMDISK más de la mitad de la RAM de la que dispongas, pero supongo que deberías probar por ti mism@…
En resumen, el uso que se le puede dar a un RAMDISK depende de varios factores, incluyendo la cantidad de memoria RAM disponible, el tamaño del RAMDISK y el propósito para el que se desea utilizar. Es importante tener en cuenta que la creación de un RAMDISK puede afectar el rendimiento general si no hay suficiente memoria RAM disponible en el sistema.
Te invito a seguir leyendo, para ir a lo que vamos aquí tienes algunas opciones de posibles usos para que las vayas conociendo:
Posibles Usos de RAMDISK
1. Aceleración de Aplicaciones: un RAMDISK se puede utilizar para acelerar el rendimiento de aplicaciones que requieren un acceso rápido a datos.
2. Almacenamiento Temporal: un RAMDISK también se puede utilizar para almacenar temporalmente datos que se eliminan con frecuencia o que no necesitan ser conservados a largo plazo.
3. Transferencia de Archivos: un RAMDISK se puede utilizar para transferir archivos grandes entre dispositivos rápidamente. Los archivos se copian en el RAMDISK y luego se transfieren al dispositivo de destino, lo que puede ser más rápido que una transferencia directa.
4. Almacenar Archivos Temporales del Sistema: un RAMDISK se puede utilizar para almacenar archivos temporales generados por aplicaciones, como archivos de caché, archivos de registro y archivos de intercambio.
5. Pruebas de Software: un RAMDISK se puede utilizar para realizar pruebas de software en un entorno de memoria a alta velocidad.
6. Como Unidad de Arranque: un RAMDISK se puede utilizar para crear una unidad de arranque para probar sistemas operativos y aplicaciones sin afectar el sistema operativo principal instalado en el disco duro. (Esto es algo que no lo tengo claro, hay que investigarlo a fondo).
7. Almacenamiento de Bases de Datos: un RAMDISK se puede utilizar para almacenar temporalmente bases de datos en memoria, lo que puede mejorar significativamente la velocidad de acceso y consulta de datos.
8. Creación de una Unidad de Almacenamiento Temporal: un RAMDISK se puede utilizar como una unidad de almacenamiento temporal para archivos que se utilizan con frecuencia. Los archivos se copian en el RAMDISK, lo que permite un acceso rápido y fácil.
9. Edición de video y audio: un RAMDISK se puede utilizar para almacenar temporalmente archivos de video y audio durante la edición, lo que puede mejorar significativamente el tiempo de procesamiento y la velocidad de la edición.
10. Como de una Partición de Arranque: un RAMDISK se puede utilizar para crear un disco de arranque para sistemas operativos que se ejecutan en la memoria RAM en lugar del “disco”. (Esto es algo que tampoco lo tengo claro, hay que investigarlo a fondo, además una “partición” no es lo mismo que una “unidad” como el punto 6, bueno, ya se verá).
11. Almacenamiento de Archivos de Intercambio: un RAMDISK se puede utilizar para almacenar archivos de intercambio, que son utilizados por el sistema operativo para liberar memoria RAM y mejorar el rendimiento del sistema. (Esta opción así vista por encima parece una paradoja, ya la veremos…)
12. Ejecución de Máquinas Virtuales: un RAMDISK se puede utilizar para almacenar temporalmente archivos de máquinas virtuales, lo que puede mejorar significativamente su rendimiento.
13. Sistema de Copia de Seguridad: un RAMDISK se puede utilizar para crear una copia de seguridad de datos importantes en la memoria RAM, lo que proporciona una mayor seguridad y protección contra la pérdida de datos.
14. Para Juegos: un RAMDISK se puede utilizar para almacenar temporalmente archivos de juegos que se utilizan con frecuencia, lo que puede mejorar significativamente el tiempo de carga y la velocidad de los juegos.
15. Contenedor de Archivos Sensibles o Confidenciales: un RAMDISK se puede utilizar para crear un sistema para tener archivos confidenciales más seguros.
En futuras entregas, los he llamado “episodios”, veremos un poco en profundidad cada uno de estos Posibles usos de un RAMDISK.
Si tienes especial interés por empezar con alguno de ellos en particular puedes ponerlo en los comentarios para tenerlo en cuenta. Si no, habrá que empezar por el 1, creo 🤔🤔🤔.
De todas formas, si se te ocurre algún otro uso que aquí no se contemple, te animo a ponerlo en los comentarios y veremos cómo publicarlo (y a título personal veré cómo darle uso, estoy en plena ampliación de la RAM; y siempre en ampliación de conocimientos y aprendizaje).
En mi sistema ya implanté algunos de estos Posibles Usos de un RAMDISK. La intención del presente artículo es que conozcas algunas maneras de usar, a ser posible, de una manera más eficiente la RAM que puedas tener en este momento. No es mi intención que te entre (como a mí) la fiebre por comprar más RAM, si es así me disculpo.
Fin de la entrega número 0. Atención a los siguientes “episodios”. Gracias por la lectura.
終わりのない物語…