GNU/Linux >> Tutoriels Linux >  >> Linux

Mise en cache/préchargement des fichiers sous Linux dans la RAM

Solution 1 :

vmtouch semble être un bon outil pour le travail.

Faits saillants :

  • demander combien d'un répertoire est mis en cache
  • demander quelle quantité d'un fichier est mise en cache (également quelles pages, représentation graphique)
  • charger le fichier dans le cache
  • supprimer le fichier du cache
  • verrouiller les fichiers dans le cache
  • exécuter en tant que démon

manuel vmtouch

MODIF : L'utilisation telle que demandée dans la question est répertoriée dans l'exemple 5 sur vmtouch Hompage

Example 5

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

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

EDIT2 : Comme indiqué dans les commentaires, un dépôt git est désormais disponible.

Solution 2 :

Ceci est également possible en utilisant le vmtouch Virtual Memory Toucher utilitaire.

L'outil vous permet de contrôler le cache du système de fichiers sur un système Linux. Vous pouvez forcer ou verrouiller un fichier ou un répertoire spécifique dans le sous-système de cache de la VM, ou l'utiliser pour vérifier quelles parties d'un fichier/répertoire sont contenues dans la 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

Ou...

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

Solution 3 :

L'astuce d'un pauvre homme pour obtenir des éléments dans le cache du système de fichiers consiste simplement à le cater et à le rediriger vers /dev/null.

Solution 4 :

Linux mettra en cache autant d'E/S de disque en mémoire que possible. C'est ce que sont les statistiques du cache et de la mémoire tampon. Il fera probablement un meilleur travail que vous pour stocker les bonnes choses.

Cependant, si vous insistez pour stocker vos données en mémoire, vous pouvez créer un lecteur RAM en utilisant tmpfs ou ramfs. La différence est que ramfs allouera toute la mémoire que vous demandez, alors que tmpfs n'utilisera que la mémoire utilisée par votre périphérique bloc. Ma mémoire est un peu rouillée, mais vous devriez pouvoir faire :

 # mount -t ramfs ram /mnt/ram 

ou

 # mount -t tmpfs tmp /mnt/tmp

puis copiez vos données dans le répertoire. Évidemment, lorsque vous éteignez la machine ou démontez cette partition, vos données seront perdues.

Solution 5 :

Après quelques lectures approfondies sur les fonctionnalités d'échange et de mise en cache des pages du noyau 2.6, j'ai trouvé «fcoretools». Qui se compose de deux outils ;

  • fincore :révélera le nombre de pages que l'application a stockées dans la mémoire centrale
  • fadvise :permet de manipuler la mémoire centrale (page-cache).

(Au cas où quelqu'un d'autre trouverait cela intéressant, je le poste ici)


Linux
  1. Utilisation de la mémoire Linux

  2. Comment vérifier la taille de la RAM dans la ligne de commande Linux en Go

  3. Ny Way pour connaître la taille du cache L1, L2, L3 et Ram sous Linux?

  4. Comment vérifier la taille totale de la RAM et l'utilisation de la mémoire sous Linux

  5. Mémoire inactive Linux

Commande Rm sous Linux

Swappiness sous Linux :tout ce que vous devez savoir

Comment synchroniser le profil du navigateur dans Tmpfs (RAM) sous Linux

Comment fusionner plusieurs fichiers PDF en un seul PDF sous Linux

Comment effacer le cache et la mémoire tampon de la mémoire RAM et l'espace d'échange sous Linux

Trouver la taille de la RAM sous Linux