Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment mettre le cache de Firefox dans la mémoire RAM

Capture d'écran de l'option de configuration du cache de Firefox

Aujourd’hui, c’est samedi et pour vous occuper, je vous propose une séance de travaux pratiques. Voici une bidouille à faire sous Linux qui vous permettra de déporter le cache de votre navigateur Firefox dans la RAM de votre ordinateur.

L’intérêt de la chose ? Accélérer la vitesse d’affichage des pages web dans Firefox et ainsi réduire les transferts via le disque. On gagne donc en rapidité et on n’entend plus son disque dur gratter comme un dingue lorsqu’on lance son Firefox.

Bien sûr certains diront que les gains sont minimaux car les disques durs sont rapides… Je pensais ça aussi et j’ai quand même essayé ma manip… Et bien, je peux vous le dire, sur mon PC en tout cas, c’est assez visible.

L’affichage des pages déjà en cache est instantanné et la LED de mon disque dur ne clignote plus 🙂

Le revers de la médaille qui a mon avis n’en est pas un, c’est qu’à chaque reboot, vous perdez complétement le contenu de votre cache (logique, c’est de la RAM -> mémoire vive). Mais finalement, ce n’est pas génant car au moins, on est sûr de ne pas avoir de trucs périmés en cache et pour la confidentialité du surf, c’est mieux.

Bref… On attaque ?

Mes manips sont réalisées sur Ubuntu donc gaffe si vous avez un autre OS, il faudra adapter… Mais c’est faisable aussi sur MacOS X (avec EspérenceDV)

Un disque virtuel en RAM, ça s’appelle un Ramdisk. On va donc définir la taille du ramdisk. Pour cela, on édite le fichier de Grub :

sudo nano /boot/grub/menu.lst

Vers la fin, vous devriez voir un truc comme ça :

title           Ubuntu 8.10, kernel 2.6.27-7-generic
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.27-7-generic root=UUID=e428e3e0-7672-4a82-9f85-3c47c811c4a7 ro quiet splash
initrd          /boot/initrd.img-2.6.27-7-generic
quiet

On rajoute alors le paramètre ramdisk à la fin de la ligne kernel.

kernel          /boot/vmlinuz-2.6.27-7-generic root=UUID=e428e3e0-7672-4a82-9f85-3c47c811c4a7 ro quiet splash ramdisk_size=65536

65536 correspond à une taille d’environ 65 MB. 65 MB pour du cache, c’est largement suffisant, même pour un gros surfeur.

Sauvegardez le fichier (CTRL X), et mettez à jour grub :

sudo update-grub

Et on reboote !!!

Ensuite, on va formater la RAM

mke2fs -m 0 /dev/ram0

On crée un répertoire de montage

sudo mkdir /media/ramdisk

et on monte le disque virtuel

sudo mount /dev/ram0 /media/ramdisk

Pour voir si ça a bien fonctionné, lancez la commande suivant pour voir le système de fichier en place (normalement ext2)

mount | grep ram0

et la commande suivante pour voir la taille de votre ramdisk

df -h | grep ram0

Si c’est tout bon, alors tant mieux ! On va pouvoir passer au script ! Il faut en effet mettre en place un script au démarrage de l’ordinateur car le disque en RAM est volatile. Il disparait à chaque reboot.

Créez donc un fichier /etc/init.d/mountram.sh

sudo nano /etc/init.d/mountram.sh

et rajoutez les lignes suivant à l’intérieur :

#! /bin/sh
/sbin/mke2fs -q -m 0 /dev/ram0
/bin/mount /dev/ram0 /media/ramdisk
/bin/chown manu:manu /media/ramdisk
/bin/chmod 777 /media/ramdisk
/bin/mkdir /media/ramdisk/Cache
/bin/chown manu:manu /media/ramdisk/Cache
/bin/chmod 777 /media/ramdisk/Cache
exit 0

La commande chown est utilisé pour vous donner les droits d’accès (user = manu / group = manu) et la commande chmod donne les droits d’écriture complet sur le ramdisk.

Rendez ensuite votre script exécutable :

sudo chmod +x /etc/init.d/mountram.sh

Et créez un lien symbolique comme ceci :

sudo ln -s /etc/init.d/mountram.sh /etc/rc2.d/S09mountram

Puis rebootez le PC !!

Vous devriez voir apparaitre une icone comme ceci sur votre bureau, vous indiquant qu’un disque virtuel est bien monté en mémoire

Schéma illustrant la différence entre la mémoire cache et la mémoire RAM

En voici les propriétés :

Capture d'écran des paramètres avancés de Firefox

Cool !

Reste plus qu’à déporter le cache de Firefox sur cet espace maintenant. Par défaut, le cache de Firefox se planque dans votre home ici (le ~ symbolise /home/xxxx/)

~/.mozilla/firefox/1jsw2aqf.default/Cache

1jsw2aqf.default , c’est l’ID de mon profil firefox. Le votre est surement différent donc attention a bien mettre le votre.

Du coup, je supprime le répertoire Cache de Firefox

sudo rm -r ~/.mozilla/firefox/1jsw2aqf.default/Cache

Pour mieux le récréer sous forme de lien symbolique vers mon ramdisk

ln -s /media/ramdisk/Cache ~/.mozilla/firefox/1jsw2aqf.default/Cache

Relancez Firefox et le tour est joué ! Vous pouvez aller vérifier dans votre /media/ramdisk/Cache/ que les fichiers temporaires y sont bien copiés.

Alors maintenant, vous la voyez la différence ? 🙂 Bon surf !

[photo]


Les articles du moment