Optimisation de la mémoire sous Ubuntu : vidage du cache, optimisation du swap et utilisation de zRAM

1. Introduction

Ubuntu est une distribution Linux open source populaire utilisée par de nombreux utilisateurs. Cependant, à mesure que le système fonctionne pendant une longue période, la mémoire peut progressivement devenir insuffisante. Cela est dû aux caches et aux processus inutiles qui occupent la mémoire.

Dans cet article, nous expliquerons des méthodes spécifiques pour libérer de la mémoire et améliorer les performances du système sous Ubuntu. Destiné aux débutants et aux utilisateurs intermédiaires, nous proposons des solutions pratiques avec des exemples de commandes réelles et des scripts. Si vous avez des connaissances de base sur le fonctionnement d’Ubuntu, vous pourrez suivre facilement.

Avantages de lire cet article

  • Comprendre comment la mémoire fonctionne.
  • Apprenez des méthodes spécifiques pour libérer de la mémoire sous Ubuntu.
  • Obtenez des conseils d’optimisation pour améliorer les performances du système.
侍エンジニア塾

2. Notions de base de la gestion de la mémoire Ubuntu

Types et rôles de la mémoire

La gestion de la mémoire d’Ubuntu se compose de trois composants principaux :

  1. RAM (Mémoire physique)C’est ici que les programmes et les données sont stockés temporairement. Disposer d’une RAM suffisante est crucial car cela affecte directement la vitesse du système.
  2. Mémoire cacheStocke des données temporaires pour accélérer la réutilisation des programmes et des fichiers. Bien que l’augmentation du cache puisse améliorer les performances, une accumulation excessive du cache peut entraîner des pénuries de mémoire.
  3. Espace d’échangeUne zone de stockage utilisée temporairement lorsque la RAM est insuffisante. Cependant, comme les disques durs HDD et les SSD sont plus lents que la RAM, une dépendance excessive à l’échange peut dégrader les performances.

Comment vérifier l’utilisation actuelle de la mémoire

Pour vérifier l’utilisation de la mémoire, utilisez la commande suivante :

free -h Commande

free -h

Cette commande affiche l’utilisation de la mémoire dans un format lisible par l’homme.

Exemple de sortie :

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.5G        1.8G        1.2G        3.4G        4.0G
Swap:          2.0G          0B        2.0G
  • total: Mémoire totale
  • utilisé : Mémoire utilisée
  • libre: Mémoire disponible
  • buff/cache: Mémoire utilisée pour la mise en cache
  • disponible : Mémoire réellement disponible pour utilisation

htop Outil

Pour la surveillance en temps réel de l’utilisation de la mémoire, htop est un outil utile.

  1. Installation:
   sudo apt install htop
  1. Exécution :
   htop

Cet outil offre une interface colorée affichant l’utilisation du CPU et de la mémoire en temps réel.

3. Méthodes spécifiques pour libérer de la mémoire

3.1 Vidage du cache de page

Qu’est-ce que le cache de page ?

Le cache de page stocke temporairement les fichiers et les données en mémoire pour un accès plus rapide. Bien que ce soit une fonctionnalité utile, si la mémoire devient insuffisante, vider le cache peut libérer des ressources.

Comment vider le cache de page

Pour vider le cache, suivez ces étapes :

  1. Commande de vidage du cacheUtilisez la commande suivante pour vider le cache.
   sudo sync && sudo sysctl -w vm.drop_caches=3
  • sync: Synchronise les données qui doivent être écrites sur le disque.
  • sysctl -w vm.drop_caches=3: Efface le cache de la page.
  1. VérificationVérifiez l’état de la mémoire avant et après avoir vidé le cache en utilisant free -h.

Précautions

  • Vider le cache peut temporairement ralentir le système.
  • Les caches sont gérés automatiquement, donc un nettoyage manuel fréquent n’est pas nécessaire.

3.2 Optimisation de l’espace d’échange

Qu’est-ce que l’échange (swap) ?

L’espace d’échange est une zone de stockage temporaire sur le disque utilisée lorsque la RAM est pleine. Comme les disques sont plus lents que la RAM, une utilisation excessive du swap peut dégrader les performances.

Vérification de l’espace d’échange

Pour vérifier l’espace d’échange actuel, utilisez la commande suivante :

swapon --show

Ajout d’espace d’échange

Si votre système ne dispose pas d’assez d’espace d’échange, vous pouvez créer un fichier de swap.

  1. Créer un fichier d’échange
   sudo fallocate -l 1G /swapfile

Cette commande crée un fichier de swap de 1 Go.

  1. Set Permissions
   sudo chmod 600 /swapfile
  1. Activer le swap
  1. VérificationExécutez swapon --show à nouveau pour confirmer que le nouvel espace d’échange est actif.

Libération du swap

Pour libérer le swap et ramener les données en RAM, utilisez la commande suivante :

sudo swapoff -a && sudo swapon -a

Cela permet de libérer de l’espace swap et d’améliorer les performances.

3.3 Terminaison des processus inutiles

Qu’est-ce qu’un processus inutile ?

Les processus qui consomment beaucoup de mémoire mais qui ne sont pas nécessaires actuellement doivent être identifiés et terminés afin de libérer de la mémoire.

Comment vérifier les processus en cours

Vous pouvez utiliser soit htop ou ps aux pour trouver les processus qui consomment le plus de mémoire.

  1. ps aux Command
   ps aux --sort=-%mem | head

Cette commande répertorie les processus les plus gourmands en mémoire.

  1. htop Command
  • htop fournit un moyen interactif de surveiller et de terminer facilement les processus.

Comment tuer un processus

Après avoir identifié l’ID du processus (PID), utilisez la commande suivante :

sudo kill -9 <PID>

4. Utilisation d’outils de gestion automatisée de la mémoire

4.1 Configuration de zRAM

Qu’est‑ce que zRAM ?

zRAM est une technique qui utilise la mémoire compressée pour augmenter virtuellement la RAM. Elle est plus rapide que le swap basé sur le disque et aide à résoudre efficacement les pénuries de mémoire.

Installation et configuration de zRAM

  1. Installer zRAMUbuntu fournit un outil de configuration zRAM officiel.
   sudo apt install zram-config
  1. Vérifier l’état de zRAMUne fois installé, zRAM est automatiquement activé. Vérifiez en utilisant :
   swapon --show

Si /dev/zram0 apparaît dans la sortie, zRAM est actif.

4.2 Création d’un script de nettoyage automatique de la mémoire

Script simple

Vous pouvez créer un script shell pour automatiser le nettoyage de la mémoire.

  1. Script Content
   #!/bin/bash
   sync && echo 3 > /proc/sys/vm/drop_caches
   echo "Memory cleared: $(date)"
  1. Enregistrer le scriptEnregistrez le fichier sous le nom memory_cleanup.sh.
   nano ~/memory_cleanup.sh
  1. Rendre le script exécutable
   chmod +x ~/memory_cleanup.sh
  1. Exécuter le script
   sudo ~/memory_cleanup.sh

5. Considérations importantes

5.1 Comprendre les effets de la suppression du cache

  • Le vidage du cache peut temporairement ralentir le système.
  • Pour les serveurs de bases de données ou les environnements avec un accès fréquent aux fichiers, vider le cache peut être contre‑productif.

5.2 Gestion de l’espace d’échange

  • Une utilisation fréquente du swap augmente les entrées/sorties disque et réduit la réactivité du système.

6. FAQ

Q1. Dois‑je libérer de la mémoire fréquemment ?

A: Non, Ubuntu gère automatiquement la mémoire, et une intervention manuelle est généralement inutile.

Q2. Le nettoyage du cache ralentit‑il mon système ?

A: Cela peut ralentir temporairement le système pendant le rechargement des données.

Q3. L’augmentation du swap améliore‑t‑elle les performances ?

A: Cela évite les plantages mais peut ralentir les performances à cause de l’accès au disque.

7. Conclusion

Nous avons présenté diverses méthodes pour libérer de la mémoire sous Ubuntu. Comprendre la gestion de la mémoire et utiliser les bons outils peut améliorer considérablement les performances du système.

  • Appris comment la mémoire fonctionne
  • Mise en œuvre du nettoyage du cache et de l’optimisation du swap
  • Utilisé zRAM et scripts d’automatisation

En surveillant votre système et en appliquant ces techniques, vous pouvez maintenir des performances optimales sous Ubuntu.

年収訴求