« Précédent | Suivant »
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
Commentaire(s)
11 Réponses
eiffel
06/08/10
point important qui n’est pas explicité clairement dans cet article : il faut que le répertoire cache dans /mnt soit créé, sinon, kubuntu ne bootera plus !!!
sudo mkdir /mnt/cache
yultreuse
23/08/10
simple et efficace, je teste ça pour chromium dans la foulée
Mary
12/09/10
Bonjour,
Vivement intéressé par ce document, j’ai voulu essayé de le mettre en pratique. Mais voilà, je suis novice sur linux, pas vraiment expert en informatique, (disons seulement un peu débrouillé) le système me refuse les droits de propriétaire sur fstab (impossibilité de le modifier ni de changer les droits) bien que je sois reconnu comme administrateur. Je ne vois pas comment y parvenir.
BarbUk
12/09/10
En tant qu’utilisateur, vous pouvez utiliser sudo dans un terminal sur un système récent pour avoir les droits d’édition. Tout dépend ensuite de l’éditeur de texte que vous utilisez, par exemple avec gedit il faudra taper : sudo gedit /etc/fstab dans un terminal et renseigner votre mot de passe.
Guy
25/09/10
Bonjour,
J’en profite pour mettre en garde les utilisateurs de logiciels du genre Cover Thumbnail. Si vous mettez aussi « comme moi » le cache thumbnail comme indiqué, il devra être généré à chaque démarrage par nautilus, d’où un ralentissement marqué de l’affichage des pochettes de vos albums (par exemple)! D’ailleurs, comment fait-on pour remettre le cache thumbnail à sa place d’origine? Merci
Merci pour cette bonne astuce qui est à recommander à tous
Guy
25/09/10
Bonjour,
Très bonne astuce que j’utilise pour le cache Chromium et qui fonctionne très bien. Néanmoins j’aimerais enlever les thumbnails du cache ram et les remettre dans leur emplacement d’origine car j’utilise Cover Thumbnails et nautilus doit à chaque redémarrage créer les thumbnails ce qui ralenti l’affichage des pochettes Musiques. Quelle est la commande pour remettre les thumbnails à nouveau dans /home? Merci
BarbUk
03/10/10
Bonjour,
pour retirer un lecteur ram, il suffit de retirer la ligne adéquate dans votre /etc/fstab ainsi que le liens symbolique créé pour cette occasion.
Je met à jour l’article pour que ce soit plus clair.
Guy
03/10/10
Merci,
En fait j’ai gardé le cache pour chromium en ram mais enlevé le thumbnails du cache ram et les images cover musiques se chargent à nouveau vite. Tout est ok.
pierre yves
16/11/10
Bonjour,
merci pour cette manip. J’ai sué un peu avec le idconfig du navigateur mais au final ça marchait. J’ai vérifié la présence des fichier dans le mnt/cache.
Aujourd’hui, ubuntu fait sa maintenance hebdomadaire et patatras, le cache de firefox retourne dans son cache originel ! reviens léon !
les thumbnails sont toujours la par contre.
Une petite idée ?
BarbUk
16/11/10
Bonjour,
La maintenance d’ubuntu n’aurait pas simplement effacé le lien symbolique en voulant vider le cache de firefox ?
Si c’est le cas, il suffit d’effacer le cache originel de firefox, et de recréer un lien symbolique vers le cache ram.
pierre yves
16/11/10
je suis preneur d’une solution pérenne et ouvert à toutes suggestions de façon à ne pas avoir à refaire les liens tout les dix jours. je m’en remet à vos claviers experts !
merci d’avance