Home > Blog > Mettre le cache de firefox et chromium dans la mémoire vive

Mettre le cache de firefox et chromium dans la mémoire vive

Publié le 15/05/10
par BarbUk

Il y a quelque temps, je suis tombé sur ce très excitant post de Korben. Mettre le cache de votre navigateur directement dans la ram de votre machine. La mémoire vive étant grossièrement 10 fois plus rapide que votre disque dur, les éléments stockés dans le cache seront accessibles plus rapidement. La méthode qu’il décrit est cependant un peu déconcertante :

  • Création d’un ramdisk au boot.
  • Création et ajout d’un script de démarrage pour créer un système de fichier sur le ramdisk et lui accorder les autorisations nécessaires.
  • Le tout dans /media, ce qui a pour effet d’afficher sur ubuntu le ramdisk sur le bureau, détecté comme une carte SD.

Ne voulant pas ajouter un nouveau script à l’initialisation de mon système, j’ai cherché une méthode alternative. Comment sont montées vos différentes partitions sous linux ? Laissez-moi vous présenter le fichier /etc/fstab.

/dev/sda3	/	ext4	defaults	0	1
/dev/sda2	/boot	ext2	defaults	0	1
/dev/sda5	/home	ext4	defaults	0	1
/dev/sda6	/media/Va_chier_batard	ntfs-3g	defaults,locale=fr_FR.UTF-8	0	0

Ce fichier permet donc de monter vos différentes partitions au démarrage, dans le bon point de montage et avec les options que vous désirez, c’est donc parfait pour créer un disque dans la mémoire vive. Il suffit alors de créer un nouveau système de fichier de type tmpfs (choix judicieux par rapport au ramfs, voir le lien) et de le monter où vous le désirez.

EDIT du 6/08 : Comme le fait remarquer Effeil, le dossier que vous voulez monter dans la ram doit bien sur être créé auparavant, à l’aide de la commande mkdir par exemple.

sudo mkdir /mnt/cache

——————

J’ai créé le mien dans /mnt/cache. Il faut maintenant modifier le fichier /etc/fstab et rajouter une ligne de cet acabit.

none  /mnt/cache tmpfs defaults,user,noexec,noatime,mode=0777,size=64M 0 0

Cette ligne est assez simple à comprendre :

  • On ne monte pas de système présent dans /dev, il faut donc utiliser le mot clef none.
  • Le système est créé dans le dossier /mnt/cache.
  • Le type du système de fichier est tmpfs.
  • Les options sont importantes, ce sont elles qui remplacent le script de Korben, on utilise donc les options par défaut, avec en plus user et mode=0777 pour que l’utilisateur puisse y accéder. noexec permet d’interdire l’exécution de programme depuis le cache, l’option noatime ne met pas à jour la date d’accès à chaque accès. Et finalement, l’option size permet de définir la taille de votre ramdisk.

Vous pouvez maintenant redémarrer votre ordinateur. Pour vérifier que votre nouveau disque ram est correctement monté, vous pouvez utiliser la commande mount. La sortie devrait ressembler à ça :

none on /mnt/cache type tmpfs (rw,noexec,nosuid,nodev,noatime,mode=0777,size=64M)

Vous pouvez maintenant lier les caches de vos navigateurs dans votre ram ! J’y ai également mis mon .thumbnails, qui contient les miniatures de photos affichées dans mon navigateur de fichier (l’excellent pcmanfm2 en passant). On commence donc par effacer les caches de firefox et chromium, puis créer des liens symboliques vers notre ramdisk.

rm -rf ~/.mozilla/firefox/'id_profil'/Cache/
rm -rf ~/.cache/chromium/Cache/
rm -rf ~/.thumbnails/
ln -s /mnt/cache/ ~/.mozilla/firefox/'id_profil'/Cache
ln -s /mnt/cache/ ~/.cache/chromium/Cache
ln -s /mnt/cache/ ~/.thumbnails

ATTENTION : votre système de fichier tmpfs est volatile, ne l’utilisez pas pour y stocker des fichiers. En cas de coupure de courant, ou après un redémarrage, le système sera vide, ce qui est plutôt pas mal pour un cache de navigateur.

Edit du 03/10 : Pour supprimer un lecteur ram, il faut et il suffit de supprimer le lien symbolique créé pour l’occasion et éditer le /etc/fstab afin d’enlever la ligne permettant de créer le lecteur. Sur certains systèmes, il faudra également recréer le dossier d’origine. Exemple pour remettre le .thumbnails :

rm -rf ~/.thumbnails/
mkdir ~/.thumbnails/

On enlève donc le lien symbolique vers le lecteur ram pour le remplacer par un dossier classique enregistré sur le disque dur !

Encore debout ?

Les commentaires et le ping sont désactivés