Cargando archivo en RAM

Cargando archivo en RAM

Tengo una aplicación que abre un archivo grande (entre 1 y 2 GB) cada vez que se ejecuta.

Por razones de desarrollo/pruebas, necesito seguir reiniciando la aplicación, y el tiempo de espera de 30 segundos a 1 minuto para cargar el archivo desde el disco duro se vuelve un poco inconveniente.

¿Hay alguna manera de colocar el archivo en la RAM (y mantenerlo allí), para que la carga sea más rápida?

Respuesta1

Si su sistema tiene suficiente RAM, el archivo debe almacenarse en caché en la memoria, para queno deberíavolver a leerse desde la unidad cada vez.

Puede intentar forzar el problema copiando el archivo a un tmpfssistema de archivos y cargándolo desde allí. tmpfsLos sistemas de archivos están basados ​​en RAM. La mayoría de las distribuciones ahora usan un tmpfsfor /tmp, por lo que copiar el archivo allí funcionará; Si es necesario, puede mountbuscar tmpfsen otro lugar y copiar el archivo allí. Sin embargo, si hay poca memoria, el contenido de a tmpfsse puede intercambiar, por lo que puedes terminar leyendo desde swap.

Respuesta2

El sistema de archivosdeberíaya cache el archivositienes suficiente RAM.

Sin embargo, para crear un disco RAM de 2 GiB dedicado /tmp/ramdiskpara este propósito, puede hacer lo siguiente:

sudo mkdir /tmp/ramdisk
sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk

información relacionada