Linux est un OS efficace, mais une utilisation excessive de la RAM et du CPU peut entraîner une baisse des performances et une instabilité du système.
Cet article présente des méthodes d’optimisation concrètes, notamment des outils de surveillance, la gestion des processus et le réglage du noyau.
1. Trouver les processus qui consomment le plus de ressources
Utilisez les commandes top, htop et ps pour identifier les processus qui utilisent le plus de CPU et de mémoire.
Notez leur PID pour les actions à suivre.
# top
top # P: tri CPU, M: tri mémoire
# Installation et exécution de htop
sudo apt install htop
htop # F6: tri, F9: quitter
# Commande ps
ps aux --sort=-%mem | head
ps aux --sort=-%cpu | head
2. Arrêter les processus inutiles
Les commandes kill, kill -9 et pkill permettent d’arrêter les processus qui consomment trop de ressources.
Les processus qui ne répondent pas peuvent être forcés à s’arrêter ou tués en lot par leur nom.
kill PID
kill -9 PID
pkill process_name
3. Optimiser les programmes lancés automatiquement
Avec systemctl, vous pouvez vérifier les services exécutés automatiquement au démarrage et désactiver ceux qui sont inutiles.
Dans un environnement GUI, vous pouvez aussi utiliser le gestionnaire d’applications au démarrage.
systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable nom_du_service
4. Ajuster la swappiness
La swappiness est un paramètre qui contrôle la fréquence d’utilisation de la mémoire swap.
Abaisser sa valeur par défaut de 60 à 10 donne la priorité à l’utilisation de la RAM et peut aider à améliorer les performances.
cat /proc/sys/vm/swappiness
sudo nano /etc/sysctl.conf # ajouter vm.swappiness=10
sudo sysctl -p
5. Utiliser un environnement de bureau léger
À la place de GNOME ou KDE, utiliser un environnement de bureau plus léger comme XFCE, LXDE ou MATE permet d’économiser des ressources.
Il en va de même pour les applications, que vous pouvez remplacer par des éditeurs, navigateurs et gestionnaires de fichiers plus légers.
6. Nettoyer manuellement le cache et les buffers
Linux utilise la RAM comme cache pour améliorer les performances, mais un nettoyage manuel reste possible si nécessaire.
Attention toutefois, cela peut entraîner une baisse temporaire des performances.
sudo sync; sudo sysctl -w vm.drop_caches=3
7. Optimiser les paramètres du noyau
Vous pouvez rendre la gestion des ressources plus efficace en modifiant des paramètres du noyau, comme la fréquence d’écriture sur disque ou la quantité minimale de RAM à préserver.
# Exemples d’éléments à ajouter dans /etc/sysctl.conf
vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0
8. Utiliser ZRAM
ZRAM compresse la mémoire et permet ainsi d’économiser de la RAM.
Si vous configurez aussi Zswap, le swap compressé sera également activé.
sudo apt install zram-config
sudo systemctl start zram-config
# Ajouter aux réglages GRUB
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
sudo update-grub
sudo reboot
9. Limiter l’utilisation CPU d’un processus
La commande cpulimit permet de limiter l’utilisation CPU d’un processus spécifique.
Une limite permanente peut aussi être définie avec les paramètres systemd.
sudo apt install cpulimit
sudo cpulimit -e firefox -l 30 # limiter firefox à 30 %
# Configuration avec systemd
sudo systemctl set-property nom_du_service CPUQuota=30%
10. Mettre régulièrement le système à jour
Les mises à jour récentes contribuent à améliorer les performances et à corriger des bugs, il faut donc les appliquer régulièrement.
sudo apt update && sudo apt upgrade # Debian/Ubuntu
sudo yum update # RHEL/CentOS
6 commentaires
Sur Asahi Linux,
zswapest utilisé etzramest désactivé.https://web.archive.org/web/20241126234212/…
https://social.treehouse.systems/@AsahiLinux/113532720695827142
Je ne connaissais zram que de nom, alors je me suis demandé quels pouvaient être ses inconvénients et j’ai posé la question à qwq:32b.
Pourquoi les distributions Linux n’activent-elles pas zram par défaut ?
Parce que les problèmes de manque de mémoire sont devenus moins fréquents sur les systèmes modernes : aujourd’hui, la plupart des PC embarquent au moins 4 Go de RAM. Dans un environnement où la pénurie de mémoire est rare, l’utilité de zram diminue.
Risque de charge CPU : zram peut augmenter l’utilisation du CPU, ce qui ne le rend pas forcément sûr pour tous les matériels.
Comme les distributions privilégient les « environnements généraux », elles peuvent estimer que le surcoût CPU de zram n’en vaut pas la peine.
Évolution de l’usage par défaut du swap : avec la généralisation des SSD, la vitesse des disques de swap traditionnels s’est fortement améliorée.
L’avantage de vitesse de zram est donc relativement moins marqué qu’auparavant.
Diversité des environnements utilisateur : zram n’est réellement efficace que dans certains contextes (par exemple, les appareils peu puissants), et n’apporte pas d’avantage particulier à l’utilisateur moyen.
Comme les distributions recherchent une « compatibilité maximale avec une configuration minimale », elles n’activent pas zram par défaut.
Complexité de la configuration : pour l’optimiser, il faut ajuster manuellement la taille de zram, l’algorithme de compression, etc., ce qui peut être difficile à comprendre pour un utilisateur ordinaire.
La compression de la mémoire est aussi activement utilisée sur macOS.
Fedora 33 et openSUSE l’activent par défaut depuis Aeon.
Les benchmarks passent toujours en premier, mais cela peut être plus utile qu’on ne le pense.
zswap est plutôt valable. Sur macOS, une fonctionnalité similaire est d’ailleurs activée par défaut. Dans un environnement aux ressources limitées comme un laptop, quand on ouvre un navigateur ou beaucoup d’applications, ça fonctionne bien. En revanche, comme vous l’avez mentionné, il y a un compromis côté CPU, donc cela aura sans doute un impact sur la batterie.
Est-ce que
zrametzswap, c’est différent ?sudo apt install zram-toolssystemctl enable zramswapC’est comme ça que je l’utilise, mais je ne sais pas si ce qu’on appelle
zswapcorrespond à ça..Les noms techniques sont assez déroutants.
zramest une fonctionnalité du noyau qui crée un périphérique bloc avec compression automatique, autrement dit une sorte de stockage. Ensuite, si l’on crée et utilise sur ce stockage un fichier de swap classique, on obtient en quelque sorte une fonction de swap basé sur la RAM avec compression. Le servicezramswapsemble justement remplir ce rôle. Mais comme ce cas d’usage a ensuite été jugé utile,zram+ swap a été intégré directement comme fonctionnalité du noyau. C’estzswap.zswappeut être activé sur la plupart des distributions Linux par une simple commande, sans installation supplémentaire. (Référence : https://wiki.archlinux.org/title/Zswap)