Comment augmenter l'espace /tmp (tmpfs) sur Linux & Amazon Linux

  • 22 juillet 2024
  • 3 min. à lire

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 :

  1. Ouvrez le fichier /etc/fstab avec un éditeur de texte :

    sudo nano /etc/fstab
    
  2. 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
    
  3. 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 :

  1. Redémarrer votre instance (recommandé, mais pas obligatoire pour s’assurer que tous les services utilisent la nouvelle configuration) :

    sudo reboot
    
  2. 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 :

  1. 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).
  2. /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.
  3. tmpfs (Troisième champ) : Le type de système de fichiers. Encore une fois, c’est tmpfs.
  4. defaults,size=512M (Quatrième champ) : Les options de montage.
    1. defaults : Utilise les options de montage par défaut (lecture/écriture, etc.).
    2. size=2512M : Spécifie la taille maximale du système de fichiers tmpfs à 2512 mégaoctets.
  5. 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é.
  6. 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

  1. Si la RAM est pleine, il vient automatiquement s’écrire sur le disque dur dans la partition “swap”

Nicolas Verlhiac

Nicolas Verlhiac

Full stack software expert | E-commerce & CRM

Nous sommes spécialisés dans la création de solutions technologiques innovantes qui aident les entreprises à rester compétitives et à prospérer.

tracking-thumb