Comment réduire l’utilisation de la RAM et du CPU sur Linux

Linux est un système d’exploitation puissant et efficace, mais une utilisation élevée de la RAM et du CPU peut dégrader les performances, ralentir les applications, voire causer des plantages système lorsque vous exécutez un serveur, une station de travail ou un système embarqué, et l’optimisation de l’utilisation des ressources est essentielle pour un fonctionnement fluide.

Dans ce guide, nous allons explorer des méthodes pratiques pour réduire l’utilisation de la RAM et du CPU sur Linux. Nous aborderons des outils de surveillance, la gestion des processus, les ajustements du noyau et les techniques d’optimisation du système pour maintenir votre système en marche de manière efficace.

1. Identifier les Processus Gourmands en Ressources

La première étape pour réduire l’utilisation de la RAM et du CPU est d’identifier quels processus consomment le plus de ressources en utilisant plusieurs outils en ligne de commande :

a. Utilisation de la Commande top

La commande top fournit une vue en temps réel des processus système, y compris l’utilisation du CPU et de la mémoire.

top
  • Appuyez sur P pour trier les processus par utilisation du CPU.
  • Appuyez sur M pour trier les processus par utilisation de la mémoire.
  • Recherchez les processus consommant des ressources excessives et notez leur ID de processus (PID).
Real-Time System Process Monitoring

b. Utilisation de la commande htop

Htop est un visualiseur de processus interactif qui offre une interface plus conviviale que top.

Pour installer htop sur Linux, utilisez la commande appropriée suivante pour votre distribution Linux spécifique.

sudo apt install htop         [On Debian, Ubuntu and Mint]
sudo dnf install htop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/htop  [On Gentoo Linux]
sudo apk add htop             [On Alpine Linux]
sudo pacman -S htop           [On Arch Linux]
sudo zypper install htop      [On OpenSUSE]    
sudo pkg install htop         [On FreeBSD]

Exécutez htop pour afficher et gérer les processus facilement.

htop
  • Appuyez sur F6 pour trier les processus par utilisation CPU ou mémoire.
  • Appuyez sur F9 pour tuer un processus sélectionné.
htop – Interactive Process Viewer

c. Utilisation de la commande ps

La commande ps peut être utilisée pour lister les processus et leur utilisation des ressources.

ps aux --sort=-%mem | head  # Top memory-consuming processes
ps aux --sort=-%cpu | head  # Top CPU-consuming processes
Check Memory Consuming Processes

2. Terminer les processus inutiles

Une fois que vous avez identifié les processus gourmands en ressources, vous pouvez les terminer pour libérer des ressources en utilisant la commande kill suivie du PID.

kill PID

Si le processus ne se termine pas, utilisez le drapeau -9 pour le forcer à se terminer.

kill -9 PID

Alternativement, utilisez la commande pkill pour tuer les processus par nom.

pkill process_name

3. Optimiser les applications au démarrage

De nombreuses applications et services démarrent automatiquement au démarrage, consommant des ressources système précieuses.

Pour gérer les applications de démarrage :

a. Utilisation de la commande systemctl

Listez tous les services activés en utilisant la commande systemctl.

systemctl list-unit-files --type=service | grep enabled

Désactivez les services inutiles.

sudo systemctl disable service_name
List Enabled Services

b. Utilisation des outils GUI

Si vous utilisez un environnement de bureau comme GNOME ou KDE, utilisez le gestionnaire d’applications de démarrage intégré pour décrocher les programmes inutiles.

4. Réduire la valeur de swappiness (optimiser l’utilisation du swap)

La swappiness contrôle la fréquence à laquelle le système utilise l’espace d’échange au lieu de RAM. Une valeur de swappiness élevée peut entraîner un échange excessif, ralentissant votre système.

Pour vérifier la valeur actuelle de swappiness :

cat /proc/sys/vm/swappiness

La valeur par défaut est généralement 60, mais pour réduire la swappiness, vous devez modifier le fichier /etc/sysctl.conf.

sudo nano /etc/sysctl.conf

Ajoutez ou modifiez la ligne suivante.

vm.swappiness=10

Enregistrez le fichier et appliquez les modifications.

sudo sysctl -p

5. Utiliser des alternatives légères pour le bureau

Les environnements de bureau lourds et les applications peuvent solliciter les ressources système, alors envisagez de passer à des alternatives légères :

a. Environnements de bureau

Remplacez GNOME ou KDE par des options plus légères comme XFCE, LXDE, ou MATE.

b. Applications

Utilisez des applications légères telles que :

  • Éditeur de texte : Remplacez LibreOffice par AbiWord ou Mousepad.
  • Navigateur web : Utilisez Firefox avec moins d’extensions ou passez à des navigateurs légers comme Midori.
  • Gestionnaire de fichiers : Remplacez Nautilus par Thunar ou PCManFM.

6. Vider le cache et les tampons

Linux utilise la RAM pour mettre en cache les fichiers et améliorer les performances. Cependant, vous pouvez vider manuellement le cache si nécessaire :

sudo sync; sudo sysctl -w vm.drop_caches=3

Cette commande vide le cache des pages, des entrées de répertoire et des inodes. Utilisez-la avec prudence, car elle peut ralentir temporairement l’accès aux fichiers.

7. Optimiser les paramètres du noyau

Pour ajuster ou optimiser les paramètres du noyau, vous devez éditer le fichier /etc/sysctl.conf et ajouter ce qui suit ou ajuster les paramètres pour améliorer les performances du système.

vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0

Ces paramètres contrôlent la fréquence à laquelle les données sales sont écrites sur le disque, réduisant ainsi l’utilisation de la RAM.

8. Réduire l’utilisation de la mémoire avec ZRAM

Zram et Zswap sont des technologies de mémoire compressée qui peuvent réduire l’utilisation de la RAM.

sudo apt install zram-config 
sudo systemctl start zram-config

Une fois installé, vous devez éditer le fichier de configuration GRUB (/etc/default/grub) et ajouter :

GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"

Mettez à jour GRUB et redémarrez :

sudo update-grub
sudo reboot

9. Limiter l’utilisation du processeur par les processus

Si un processus monopolise le CPU, limitez son utilisation en utilisant cpulimit.

sudo apt install cpulimit  # Debian/Ubuntu  
sudo yum install cpulimit  # RHEL/CentOS  

Limitez un processus (par exemple, firefox) à 30% d’utilisation CPU.

sudo cpulimit -e firefox -l 30

Pour limiter de manière permanente un processus, utilisez systemd.

sudo systemctl set-property <service_name> CPUQuota=30%

10. Mettez régulièrement à jour votre système

En gardant votre système à jour, vous vous assurez de disposer des dernières améliorations de performances et corrections de bugs.

sudo apt update && sudo apt upgrade  # For Debian/Ubuntu
sudo yum update  # For CentOS/RHEL

Conseils de dépannage

  • Si un processus ne se termine pas avec kill, utilisez kill -9 PID pour le forcer à s’arrêter.
  • Si zram ou zswap ne fonctionne pas, assurez-vous que votre noyau prend en charge ces fonctionnalités.
  • Si les performances du système ne s’améliorent pas, envisagez de mettre à niveau votre matériel (par exemple, en ajoutant plus de RAM ou en passant à un SSD).
Conclusion

Optimiser l’utilisation de la RAM et du CPU sur Linux est un mélange de surveillance, d’ajustements et parfois de mises à niveau matérielle. En identifiant les processus gourmands en ressources, en ajustant les paramètres système et en optant pour des alternatives légères, vous pouvez redonner vie à votre système.

Avez-vous essayé ces techniques d’optimisation ? Partagez votre expérience dans les commentaires ci-dessous ou visitez Tecmint.com pour plus de guides et tutoriels Linux.

Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/