GNU/Linux >> Tutoriales Linux >  >> Linux

Almacenamiento en caché/precarga de archivos en Linux en RAM

Solución 1:

vmtouch parece una buena herramienta para el trabajo.

Puntos destacados:

  • consultar cuánto de un directorio se almacena en caché
  • consultar cuánto de un archivo se almacena en caché (también qué páginas, representación gráfica)
  • cargar archivo en caché
  • eliminar archivo del caché
  • bloquear archivos en caché
  • ejecutar como demonio

vmtouch manual

EDITAR: El uso que se hace en la pregunta se enumera en el ejemplo 5 en la página de inicio de vmtouch

Example 5

Daemonise and lock all files in a directory into physical memory:

vmtouch -dl /var/www/htdocs/critical/

EDIT2: Como se indica en los comentarios, ahora hay un repositorio git disponible.

Solución 2:

Esto también es posible usando vmtouch Tocador de memoria virtual utilidad.

La herramienta le permite controlar el caché del sistema de archivos en un sistema Linux. Puede forzar o bloquear un archivo o directorio específico en el subsistema de caché de VM, o usarlo para verificar qué partes de un archivo/directorio están contenidas dentro de VM.

How much of the /bin/ directory is currently in cache?

$ vmtouch /bin/
           Files: 92
     Directories: 1
  Resident Pages: 348/1307  1M/5M  26.6%
         Elapsed: 0.003426 seconds

O...

Let's bring the rest of big-dataset.txt into memory...

$ vmtouch -vt big-dataset.txt
big-dataset.txt
[OOo                                                 oOOOOOOO] 6887/42116
[OOOOOOOOo                                           oOOOOOOO] 10631/42116
[OOOOOOOOOOOOOOo                                     oOOOOOOO] 15351/42116
[OOOOOOOOOOOOOOOOOOOOOo                              oOOOOOOO] 19719/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOo                        oOOOOOOO] 24183/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo                  oOOOOOOO] 28615/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo              oOOOOOOO] 31415/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo      oOOOOOOO] 36775/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo  oOOOOOOO] 39431/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO] 42116/42116

           Files: 1
     Directories: 0
   Touched Pages: 42116 (164M)
         Elapsed: 12.107 seconds

Solución 3:

El truco de un hombre pobre para obtener cosas en el caché del sistema de archivos es simplemente buscarlo y redirigirlo a /dev/null.

Solución 4:

Linux almacenará en caché la mayor cantidad posible de E/S de disco en la memoria. Estas son las estadísticas de la memoria caché y del búfer. Probablemente hará un mejor trabajo que tú almacenando las cosas correctas.

Sin embargo, si insiste en almacenar sus datos en la memoria, puede crear una unidad ram utilizando tmpfs o ramfs. La diferencia es que ramfs asignará toda la memoria que solicite, mientras que tmpfs solo usará la memoria que usa su dispositivo de bloque. Mi memoria está un poco oxidada, pero deberías poder hacer:

 # mount -t ramfs ram /mnt/ram 

o

 # mount -t tmpfs tmp /mnt/tmp

y luego copie sus datos en el directorio. Obviamente, cuando apague la máquina o desmonte esa partición, sus datos se perderán.

Solución 5:

Después de leer un poco sobre las funciones de intercambio de kernel 2.6 y almacenamiento en caché de páginas, encontré 'fcoretools'. Que consta de dos herramientas;

  • fincore:revelará cuántas páginas ha almacenado la aplicación en la memoria central
  • advise:le permite manipular la memoria central (caché de página).

(En caso de que alguien más encuentre esto interesante, lo publico aquí)


Linux
  1. Uso de memoria de Linux

  2. ¿Alguna forma de saber el tamaño de L1, L2, L3 Cache y RAM en Linux?

  3. Cómo verificar el tamaño total de RAM y el uso de memoria en Linux

  4. registro de la marca de agua máxima de la memoria RAM de un proceso de Linux

  5. Memoria inactiva de Linux

Comando Rm en Linux

Swappiness en Linux:Todo lo que necesitas saber

Cómo sincronizar el perfil del navegador en Tmpfs (RAM) en Linux

Cómo combinar varios archivos PDF en un solo PDF en Linux

Cómo borrar el caché de la memoria RAM, el búfer y el espacio de intercambio en Linux

Encuentra el tamaño de RAM en Linux