Guide étape par étape pour augmenter durablement l'espace /tmp sur les distributions Linux (Debian, Ubuntu, CentOS, RHEL, Fedora, ..) dont Amazon Linux 2023 en utilisant le système de fichiers tmpfs.
Sur une distribution Linux (personnellement c’était sur Amazon Linux 2023), vous avez probablement déjà rencontré des situations où l’espace limité du répertoire /tmp
est devenu un obstacle. Que ce soit pour des opérations intensives de traitement de données ou pour le déploiement d’applications gourmandes en ressources temporaires, nous avons régulièrement besoin d’un plus grand espace temporary. Dans cet insight, nous allons explorer en détail comment augmenter l’espace de /tmp
sur un système de fichiers tmpfs.
Comprendre le système de fichiers tmpfs
Avant de plonger dans les manipulations techniques, faisont le point pour comprendre ce qu’est tmpfs. Le tmpfs est un système de fichiers temporaire qui réside en mémoire vive (RAM) plutôt que sur le disque dur 1. Cela le rend extrêmement rapide pour les opérations de lecture et d’écriture, mais aussi volatile : son contenu est perdu au redémarrage du système.
Sur Amazon Linux 2023, /tmp
est généralement monté en tant que tmpfs par défaut, ce qui offre des performances élevées mais peut aussi limiter l’espace disponible, surtout sur des instances avec une RAM limitée.
Évaluer la configuration actuelle
Avant de procéder à toute modification, nous allons évaluer notre configuration actuelle. Utilisez la commande suivante pour vérifier l’espace actuellement alloué à /tmp
:
df -h /tmp
Cette commande vous donnera un aperçu de la taille totale, de l’espace utilisé et de l’espace disponible pour
/tmp
.
Augmenter temporairement l’espace de /tmp
Pour une solution rapide et temporaire, vous pouvez remonter /tmp
avec une taille plus importante. Voici comment procéder :
sudo mount -o remount,size=2512M /tmp
Cette commande remonte
/tmp
avec une taille de 2512 Mo. Vous pouvez ajuster cette valeur selon vos besoins spécifiques.
N’oubliez pas que cette modification sera perdue au prochain redémarrage de votre instance.
Rendre la modification persistante
Pour que l’augmentation de l’espace soit permanente, vous devez modifier le fichier /etc/fstab
. Voici les étapes à suivre :
-
Ouvrez le fichier
/etc/fstab
avec un éditeur de texte :sudo nano /etc/fstab
-
Ajoutez ou modifiez la ligne suivante : Plus de précision sur ce qu’il se passe dans cette ligne
tmpfs /tmp tmpfs defaults,size=2512M 0 0
-
Sauvegardez et fermez le fichier. : Cette modification assurera que
/tmp
sera monté avec la taille spécifiée à chaque démarrage du système.
Appliquer les changements
Après avoir modifié /etc/fstab, vous avez deux options pour appliquer les changements :
-
Redémarrer votre instance (recommandé, mais pas obligatoire pour s’assurer que tous les services utilisent la nouvelle configuration) :
sudo reboot
-
Remonter /tmp sans redémarrer (utile en production pour éviter les temps d’arrêt) :
sudo umount /tmp sudo mount /tmp
Vérifier les modifications
Une fois les changements appliqués, il est important de vérifier que la nouvelle configuration est bien en place. Utilisez à nouveau la commande :
df -h /tmp
Vous devriez maintenant voir la nouvelle taille allouée à /tmp
.
Alors, la prochaine fois que vous vous retrouverez face à un message d’erreur “No space left on device” lors d’une opération sur /tmp
, vous saurez exactement quoi faire !
Considérations importantes
- Impact sur la RAM : N’oubliez pas que l’augmentation de la taille de
/tmp
réduit la quantité de RAM disponible pour d’autres processus. Assurez-vous d’avoir suffisamment de mémoire pour supporter cette augmentation sans compromettre les performances globales de votre système. - Nettoyage régulier : Même avec un espace
/tmp
plus grand, il est bon de mettre en place des routines de nettoyage pour éviter l’accumulation de fichiers temporaires inutiles.
Précision sur le fonctionnement de /etc/fstab
Tout à l’heure nous avons ajouté la ligne suivante dans le fichier /etc/fstab
qui est utilisé pour définir comment les systèmes de fichiers doivent être montés au démarrage.
tmpfs /tmp tmpfs defaults,size=2512M 0 0
Voici ce que chaque champ représente :
- tmpfs (Premier champ) : Le type de système de fichiers à monter. Dans ce cas, il s’agit de tmpfs, qui est un système de fichiers temporaire stocké en RAM (déjà dit, mais c’est pour ceux qui dorment).
- /tmp (Deuxième champ) : Le point de montage où le système de fichiers tmpfs doit être monté. Dans ce cas, c’est le répertoire
/tmp
. - tmpfs (Troisième champ) : Le type de système de fichiers. Encore une fois, c’est tmpfs.
- defaults,size=512M (Quatrième champ) : Les options de montage.
- defaults : Utilise les options de montage par défaut (lecture/écriture, etc.).
- size=2512M : Spécifie la taille maximale du système de fichiers tmpfs à 2512 mégaoctets.
- 0 (Cinquième champ) : Indique si le système de fichiers doit être dumpé (sauvegardé) par la commande dump.
0
signifie qu’il ne sera pas sauvegardé. - 0 (Sixième champ) : Indique l’ordre dans lequel le système de fichiers doit être vérifié par fsck au démarrage.
0
signifie qu’il ne sera pas vérifié.
Notes
-
Si la RAM est pleine, il vient automatiquement s’écrire sur le disque dur dans la partition “swap” ↩