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 tmpfs
sistema de archivos y cargándolo desde allí. tmpfs
Los sistemas de archivos están basados en RAM. La mayoría de las distribuciones ahora usan un tmpfs
for /tmp
, por lo que copiar el archivo allí funcionará; Si es necesario, puede mount
buscar tmpfs
en otro lugar y copiar el archivo allí. Sin embargo, si hay poca memoria, el contenido de a tmpfs
se 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/ramdisk
para este propósito, puede hacer lo siguiente:
sudo mkdir /tmp/ramdisk sudo mount -t tmpfs -o size=2G myramdisk /tmp/ramdisk