Tmpfs : un filesystem en ram ou comment écrire en ram
1 Introduction
TmpFS (Temporary File System) est le nom générique données à tout système de fichiers Unix temporaire. Tout fichier créé dans un un tel système de fichier disparaît lors de l'arrêt du système.
L'implémentation par défaut du tmpfs des noyaux Linux 2.6.x se base sur ramfs qui utilise le mécanisme de cache pour optimiser la gestion de la mémoire.
Il est également disponible sur Solaris 10.
Cependant, tmpfs propose en plus par sécurité une limite de taille mémoire allouable fixée au moment du montage et modifiable à la volée avec l'option "remount". Tmpfs permet par ailleurs au système d'utiliser le swap lorsque cela devient nécessaire, ce qui est une garantie supplémentaire.
Par opposition à un RAM Disque, il alloue dynamiquement la mémoire de manière à ne pas l'utiliser en excès, et offre de meilleurs performances grâce à son extrême simplicité.
2 Utilisation
2.1 Prérequis
Nous allons créer un point de montage sur /media/montmpfs.
Il faut d'abord créer le dossier :
mkdir |
mkdir -p /media/montmpfs |
Puis si il le faut changer les droits sur ce dossier, pour que tout le monde puisse lire/ecrire/executer
chmod |
chmod 777 /media/montmpfs |
2.2 Montage
Enfin un tmpfs se monte comme tous les points de montage sous linux, avec la commande mount.
mount |
mount -t tmpfs -o size=256M tmpfs /media/montmpfs |
Les options sont :
- -t : pour spécifier le type de fichier
- -o : pour les options, dont la taille (si elle n'est pas précisé la taille par défaut est égale à la moitié de la RAM)
- puis le périphérique, ici tmpfs ou none (personnellement j'utilise tmpfs, car avec la commande df il y est écrit tmpfs comme Système de fichiers)
- puis le point de montage.
Pour le monter automatiquement au démarrage il faut éditer le fichier /etc/fstab.
Exemple de ligne à rajouter :
tmpfs |
tmpfs /tmp tmpfs defaults,size=1g 0 0 |
3 Ressources
Storing Files Directories In Memory With tmpfs
http://www.generation-linux.fr/index.php?post/2009/05/04/tmpfs-%3A-utiliser-sa-ram-comme-repertoire-de-stockage