Optimiser les performances Linux : mémoire, CPU, disque et services système

Optimiser les performances de Linux : guide complet 2026

User avatar placeholder
Écrit par Vincent

1 juillet 2026

Optimiser les performances Linux ne consiste pas à appliquer des réglages au hasard : il faut d’abord identifier ce qui ralentit réellement la machine. Un système Linux qui ralentit n’a presque jamais besoin d’une réinstallation complète. Les lenteurs peuvent venir de services au démarrage, d’une pression mémoire, du stockage, d’un pilote, d’une application ou d’un espace disque presque plein. Le diagnostic doit précéder le nettoyage et les réglages. Ce guide détaille les réglages utiles pour optimiser les performances Linux et améliorer réellement les performances d’un système Linux, du nettoyage de base jusqu’aux ajustements plus techniques du noyau, du stockage et de la mémoire, avec à chaque étape de quoi mesurer le résultat obtenu.

L’essentiel
Point de départ : mesurer avant d’optimiser, avec free -h, top et systemd-analyze blame.
Prérequis : accès terminal et sudo pour les réglages système.
Portée : poste de bureau comme serveur, toutes distributions courantes.
Sources : documentation officielle des projets cités, consultée le 20 juillet 2026.

Table des matières

Pourquoi optimiser les performances Linux ?

Linux reste globalement plus léger que Windows ou macOS à configuration matérielle égale, mais un système utilisé pendant plusieurs mois accumule les mêmes symptômes de ralentissement : paquets installés puis oubliés, services démarrés automatiquement sans raison, cache disque saturé. Optimiser les performances Linux consiste à identifier ces points précis plutôt qu’à appliquer des réglages génériques trouvés en ligne sans les comprendre.

Avant toute optimisation, un diagnostic s’impose : est-ce le démarrage qui est lent, l’utilisation quotidienne qui saccade, ou la mémoire qui sature dès l’ouverture de quelques applications ? Chaque symptôme oriente vers une famille de réglages différente, détaillée dans les sections suivantes. Si vous hésitez encore sur la distribution la mieux adaptée à votre matériel, notre comparatif des distributions Linux aide à partir sur de meilleures bases avant même de commencer à optimiser.

Nettoyer son système pour optimiser les performances Linux

Le nettoyage sert d’abord à libérer de l’espace disque et à éviter les erreurs liées à un stockage presque plein. Il n’accélère pas automatiquement Linux : supprimer un cache peut même ralentir temporairement le prochain lancement d’une application, car ce cache devra être recréé. Mesurez donc l’espace occupé et fermez les applications concernées avant toute suppression. Notre guide complet pour libérer de l’espace disque sous Linux détaille la marche à suivre pour chaque famille de distributions.

Supprimer les paquets et dépendances inutiles

Sur les distributions basées sur Debian et Ubuntu, les dépendances installées automatiquement puis devenues inutiles s’accumulent au fil des mises à jour. La commande suivante les supprime :

sudo apt autoremove --purge
sudo apt clean

autoremove --purge supprime les paquets orphelins ainsi que leurs fichiers de configuration. apt clean vide le cache local des paquets .deb ; cette opération libère du stockage, mais ne réduit généralement ni la RAM utilisée ni la charge CPU. Pour repérer les paquets volumineux installés manuellement et jamais utilisés, l’outil dpigs (fourni par le paquet debian-goodies) liste les paquets classés par taille décroissante.

Vider les caches et fichiers temporaires

Le répertoire /tmp et les caches utilisateur dans ~/.cache peuvent occuper beaucoup d’espace. Fermez les applications concernées avant d’effacer leur cache. Sur un système de bureau, le cache des miniatures ou celui des navigateurs peut à lui seul occuper plusieurs gigaoctets :

du -sh ~/.cache/*
rm -rf ~/.cache/thumbnails/*

La commande du -sh affiche la taille de chaque sous-dossier du cache, ce qui permet d’identifier précisément les éléments volumineux. La seconde commande efface uniquement les miniatures de l’utilisateur courant ; elles seront recréées au prochain affichage. Ce nettoyage libère de l’espace, mais ne constitue pas à lui seul une optimisation des performances.

Limiter la taille des journaux systemd

Le journal systemd (journald) applique déjà des limites calculées selon l’espace disponible, mais les journaux peuvent malgré tout devenir volumineux :

journalctl --disk-usage
sudo journalctl --rotate --vacuum-size=200M

--vacuum-size=200M ne retire que les fichiers de journal archivés après rotation du fichier actif. Pour rendre cette limite permanente, utilisez SystemMaxUse=200M pour les journaux persistants et RuntimeMaxUse=200M pour les journaux temporaires dans /etc/systemd/journald.conf.d/limits.conf.

sudo mkdir -p /etc/systemd/journald.conf.d
echo '[Journal]' | sudo tee /etc/systemd/journald.conf.d/limits.conf
echo 'SystemMaxUse=200M' | sudo tee -a /etc/systemd/journald.conf.d/limits.conf
echo 'RuntimeMaxUse=200M' | sudo tee -a /etc/systemd/journald.conf.d/limits.conf
sudo systemctl restart systemd-journald

Cette section ne concerne que les distributions basées sur systemd. Alpine Linux utilise OpenRC et ne génère pas de journal journald : les logs y transitent par syslog (busybox syslogd) et se gèrent avec logrotate, configuré dans /etc/logrotate.conf.

Réduire les services et processus au démarrage

Un démarrage lent peut venir d’un service, mais aussi du stockage, du firmware, du réseau, du chiffrement, de l’initramfs ou d’un périphérique. Sur les systèmes utilisant systemd, les commandes suivantes donnent deux vues complémentaires du démarrage : Le détail de la méthode — mesure, diagnostic, réduction du délai GRUB — est traité étape par étape dans ce guide sur l’accélération du démarrage de Linux.

systemd-analyze blame
systemd-analyze critical-chain

blame classe les unités selon leur temps d’activation, tandis que critical-chain affiche le chemin de dépendances qui retarde effectivement le démarrage, utile quand un service attend qu’un autre se termine avant de démarrer. Ne désactivez pas un service uniquement parce qu’il apparaît en haut du classement. Vérifiez d’abord sa fonction, son état et les unités qui en dépendent ; un service d’impression ou Bluetooth peut ensuite être arrêté s’il est réellement inutile sur la machine :

systemctl status nom-du-service
systemctl list-dependencies --reverse nom-du-service
sudo systemctl disable nom-du-service
sudo systemctl stop nom-du-service

disable empêche le service de démarrer automatiquement au prochain redémarrage. stop l’arrête immédiatement, sans attendre le prochain redémarrage pour constater le gain. Sur Alpine (OpenRC), les équivalents sont rc-update del nom-du-service et rc-service nom-du-service stop.

Ajuster la gestion de la mémoire et du swap

Pour optimiser les performances Linux sur une machine limitée, la gestion de la mémoire vive influence directement la réactivité perçue du système, en particulier sur les machines disposant de 4 à 8 Go de RAM.

Réduire la swappiness

Le paramètre swappiness exprime le coût relatif attribué au swap par rapport à la récupération du cache du système de fichiers ; il ne définit pas un simple seuil de RAM. La valeur optimale dépend du stockage, de la charge de travail et de l’usage éventuel de zram ou zswap :

cat /proc/sys/vm/swappiness
swapon --show
vmstat 2 5
sudo sysctl vm.swappiness=10

La valeur 10 constitue seulement un exemple de test pour une machine utilisant surtout un swap disque lent ; comparez le comportement avant et après le changement. Pour rendre ce réglage permanent après redémarrage, ajoutez vm.swappiness=10 dans le fichier /etc/sysctl.d/99-swappiness.conf, puis appliquez-le avec sudo sysctl --system. Avec zram ou zswap, des valeurs plus élevées — parfois supérieures à 100 — peuvent au contraire être pertinentes. Ne rendez le réglage permanent qu’après un test concluant.

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl --system

Utiliser zram pour les machines à faible RAM

Zram crée un périphérique bloc compressé en mémoire qui peut servir de swap. Avant de l’installer, vérifiez si la distribution l’a déjà activé. L’accès à cette zone reste beaucoup plus rapide qu’un swap classique sur disque, en particulier sur un disque mécanique ou une carte SD :

swapon --show
zramctl

sudo apt install zram-tools
sudo systemctl enable --now zramswap.service

Sur Debian et Ubuntu, zram-tools peut utiliser zram en complément d’un swap disque de priorité inférieure, selon la configuration retenue dans /etc/default/zramswap. Fedora active déjà le swap sur zram par défaut. Sur Arch Linux et openSUSE Tumbleweed, le mécanisme disponible s’appelle zram-generator (paquet zram-generator-defaults sur Fedora), intégré à systemd et configuré dans /etc/systemd/zram-generator.conf plutôt que dans /etc/default/zramswap. Il n’existe pas actuellement de paquet officiel zram-generator pour openSUSE Leap 16.0. Sur Alpine, le paquet équivalent s’installe avec sudo apk add zram-init puis s’active via rc-update add zram-init.

zswap répond à un besoin différent. Zswap sert de cache compressé devant un périphérique de swap existant, tandis que zram fournit un périphérique compressé distinct. Les deux approches peuvent coexister avec un swap disque selon la configuration et les priorités définies.

Optimiser le stockage : système de fichiers et options de montage

Ext4 reste le système de fichiers par défaut de la plupart des distributions, avec un bon équilibre entre performance et fiabilité. Pour optimiser les performances Linux côté stockage, vérifiez que le support TRIM est actif sur un disque SSD, ce qui évite une dégradation progressive des performances d’écriture :

sudo systemctl enable --now fstrim.timer
sudo fstrim -v /

fstrim.timer planifie l’exécution automatique de TRIM une fois par semaine, ce qui suffit largement pour un usage courant sans imposer d’exécution continue, plus coûteuse en performance. Sur Alpine, sans fstrim.timer disponible, ajoute simplement fstrim -v / à une tâche cron hebdomadaire.

L’option de montage noatime, ajoutée dans /etc/fstab, désactive la mise à jour de la date de dernier accès. La plupart des distributions utilisent déjà relatime, qui limite fortement ces écritures ; le gain supplémentaire de noatime est donc souvent faible et certaines applications peuvent dépendre de cette information. N’envisagez ce réglage qu’après mesure et vérification des applications concernées. Sauvegardez d’abord le fichier et relevez l’UUID, le point de montage et le système de fichiers réels :

sudo cp /etc/fstab /etc/fstab.bak
lsblk -f

Avant de modifier /etc/fstab, faites-en une copie de sauvegarde : la ligne finale dépend de l’UUID, du point de montage et du système de fichiers réels. Un modèle comme UUID=valeur-réelle / ext4 defaults,noatime 0 1 ne doit pas être copié sans adaptation. Après la modification, exécutez sudo mount -a et corrigez toute erreur avant de redémarrer. Notre guide sur rsync et crontab permet d’automatiser ce type de sauvegarde de configuration avant toute modification sensible.

Ajuster le CPU : gouverneur de fréquence et TLP

Le noyau Linux gère la fréquence du processeur via des « gouverneurs ». Le gouverneur powersave et le profil performance ne se comportent pas exactement de la même manière selon le pilote CPU. Avec intel_pstate, le processeur peut continuer à ajuster rapidement sa fréquence selon la charge. Le gouverneur performance privilégie les performances, mais son effet exact dépend du pilote et du matériel. L’outil cpupower s’installe avec sudo apt install linux-tools-common linux-tools-generic sur Ubuntu, sudo apt install linux-cpupower sur Debian, sudo dnf install kernel-tools sur Fedora, sudo pacman -S cpupower sur Arch, sudo zypper install cpupower sur openSUSE, et sudo apk add cpupower sur Alpine :

cpupower frequency-info
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
sudo cpupower frequency-set -g performance

Sur openSUSE, le paquet cpupower est officiellement proposé pour Tumbleweed ; vérifiez sa disponibilité avant de l’indiquer sur Leap 16.0. Sur un serveur qui exécute plusieurs services, notamment avec Docker sur Linux, surveiller la mémoire, le CPU et le stockage devient essentiel. Sur un serveur ou un poste de bureau branché en permanence, performance peut réduire certaines latences, mais augmente souvent la consommation électrique, la température et le bruit ; mesurez le gain avant de le conserver. Sur un ordinateur portable, vérifiez d’abord si power-profiles-daemon ou un autre gestionnaire d’énergie est actif, car ces outils peuvent modifier les mêmes réglages. Le gestionnaire de paquets peut retirer automatiquement le composant concurrent lors de l’installation. Ensuite, l’outil TLP ajuste automatiquement la fréquence CPU, la gestion de l’USB et de la carte graphique selon que la machine est sur secteur ou sur batterie, sans réglage manuel à refaire à chaque changement de contexte :

sudo apt install tlp
sudo systemctl enable --now tlp.service
tlp-stat -s

TLP est également disponible sur les autres distributions : sudo dnf install --allowerasing tlp tlp-pd tlp-rdw sur Fedora, sudo pacman -S tlp tlp-pd tlp-rdw sur Arch, sudo zypper install tlp sur openSUSE, et sudo apk add tlp sur Alpine (activation via rc-update add tlp au lieu de systemctl enable).

Sur une machine équipée d’une carte NVIDIA, le gain de performance graphique dépend surtout du choix et de l’installation du bon driver NVIDIA, bien avant tout réglage TLP.

Debian et Ubuntu activent généralement tlp.service lors de l’installation. Sur Fedora, Arch et openSUSE, activez explicitement tlp.service et, si vous utilisez tlp-pd, tlp-pd.service. Vérifiez ensuite l’état avec tlp-stat -s.

Surveiller et mesurer les performances

Optimiser les performances Linux sans mesurer revient à deviner. Les outils de surveillance permettent d’identifier précisément le processus ou la ressource responsable d’un ralentissement, puis de vérifier que chaque réglage appliqué produit un gain réel.

htop, iotop et vmstat

htop affiche en temps réel la consommation CPU et mémoire de chaque processus, avec un tri interactif par colonne. Il remplace avantageusement la commande top, plus austère :

sudo apt install htop
htop

Pour un diagnostic disque, iotop affiche les processus responsables des lectures et écritures. vmstat 2 5 donne, toutes les deux secondes, une vue synthétique de la mémoire, du swap et de la charge CPU, pratique pour vérifier qu’un réglage de swappiness a bien réduit l’usage du swap dans la durée. Les trois outils s’installent avec sudo dnf install htop iotop sur Fedora, sudo pacman -S htop iotop sur Arch, sudo zypper install htop iotop sur openSUSE, et apk add htop iotop sur Alpine (vmstat fait partie du paquet procps, souvent déjà présent sur toutes les distributions).

Prioriser les processus avec nice et ionice

Plutôt que de fermer une tâche lourde (compression d’archive, encodage vidéo), nice permet de lui attribuer une priorité CPU plus basse, pour que le reste du système reste réactif :

nice -n 15 tar -czf archive.tar.gz dossier/
ionice -c3 rsync -av source/ destination/

nice -n 15 abaisse la priorité CPU de la tâche (l’échelle va de -20, priorité maximale, à 19, priorité minimale). ionice -c3 place la tâche en classe « idle », elle n’obtient du temps d’entrée-sortie que lorsque les autres tâches n’en demandent pas. La classe 2 correspond au mode best-effort. nice et ionice sont généralement fournis par coreutils et util-linux. Sur une installation minimale, vérifiez la présence de ionice avec command -v ionice.

Optimisations spécifiques pour un ancien PC

Pour optimiser les performances Linux sur un ancien PC, commencez par alléger l’environnement de bureau. Sur un ordinateur limité à 2 ou 4 Go de RAM et un processeur ancien, l’environnement de bureau pèse souvent plus lourd que le système lui-même. Passer à Xfce ou LXQt peut réduire la mémoire utilisée sur une machine limitée, mais le gain dépend aussi des services, des effets et des applications chargés. KDE Plasma peut rester raisonnable sur certaines configurations modestes ; mesurez la consommation réelle avant de changer d’environnement. Notre comparatif des distributions Linux détaille les options les plus légères pour ce type de matériel.

Désactiver les effets visuels (transparence, animations de fenêtres) et limiter le nombre d’applications au démarrage automatique complètent ces gains. Sur un disque mécanique plutôt qu’un SSD, réduire la swappiness comme indiqué plus haut a un effet particulièrement sensible sur la réactivité générale.

Erreurs courantes qui ralentissent Linux

Certaines pratiques répandues nuisent en réalité aux performances. Compiler soi-même un noyau personnalisé sans besoin précis complexifie la maintenance sans gain mesurable pour un usage courant. Multiplier les extensions de bureau (GNOME Shell notamment) alourdit progressivement l’interface. Désactiver complètement le swap plutôt que d’ajuster la swappiness expose à un blocage complet du système en cas de pic de mémoire, plutôt qu’à un simple ralentissement. Enfin, ignorer les mises à jour de sécurité expose le système à des correctifs de performance qui accompagnent souvent les correctifs de vulnérabilités, sans bénéfice à rester sur une version ancienne.

Automatiser la maintenance avec une tâche cron

Pour optimiser les performances Linux dans la durée, mieux vaut automatiser les tâches répétitives. Plutôt que de retenir une fréquence et d’exécuter chaque commande à la main, n’automatisez que les tâches non interactives et à faible risque. La vérification des dépendances proposée par apt autoremove doit rester manuelle, après lecture de la liste affichée. Le bloc suivant sert donc de liste de contrôle à exécuter manuellement ; ne le placez pas tel quel dans cron :

#!/bin/bash
set -eu
sudo apt autoremove --purge
sudo apt clean
sudo journalctl --rotate --vacuum-size=200M
sudo fstrim -v /

Cette liste de contrôle combine la vérification des dépendances, le vidage du cache apt, la rotation des journaux systemd et l’exécution manuelle de TRIM. Confirmez apt autoremove uniquement après avoir lu la liste proposée. Si fstrim.timer est déjà actif, la dernière ligne est redondante et peut être retirée. Sur Fedora, openSUSE ou Arch Linux, remplacez la première ligne par l’équivalent dnf, zypper ou paccache vu plus haut. Sur Alpine, remplace les deux premières lignes par apk cache clean et retire la ligne journalctl (sans objet, Alpine n’utilise pas systemd). Enregistrez-le, par exemple, dans /usr/local/bin/maintenance-linux.sh, puis rendez-le exécutable avec chmod +x.

0 3 1 * * apt clean >/dev/null 2>&1 && journalctl --rotate --vacuum-size=200M >> /var/log/maintenance-linux.log 2>&1

Ajoutez cette ligne dans la crontab de root avec sudo crontab -e. Elle exécute uniquement deux tâches non interactives le 1er du mois à 3 h : vider le cache apt et faire tourner les journaux archivés. Elle n’automatise ni apt autoremove ni TRIM, et conserve un journal des opérations dans maintenance-linux.log. Notre guide sur rsync et crontab détaille la syntaxe cron pas à pas pour l’adapter à une autre fréquence.

Conclusion

Optimiser Linux consiste d’abord à mesurer, puis à corriger le véritable goulot d’étranglement. Nettoyage, services au démarrage, swap, zram, stockage et gouverneur CPU peuvent améliorer la réactivité, mais chaque réglage doit être appliqué progressivement et contrôlé avec htop, vmstat, iotop ou systemd-analyze. Sauvegardez les fichiers de configuration, notez les valeurs d’origine et évitez les recettes universelles : la meilleure optimisation est celle qui répond à la charge réelle de votre machine.

FAQ — Questions fréquentes sur l’optimisation de Linux

Comment savoir ce qui ralentit mon système Linux ?

Lancez htop pour repérer un processus qui consomme anormalement le CPU ou la mémoire, et systemd-analyze blame pour identifier les services qui ralentissent le démarrage. Complétez le diagnostic avec systemd-analyze critical-chain pour le démarrage, iotop pour les entrées-sorties et vmstat 2 5 pour observer la mémoire, le swap et la charge CPU.

Faut-il désactiver le swap pour améliorer les performances ?

Non, désactiver complètement le swap est risqué : en cas de saturation de la RAM, le système peut se figer au lieu de ralentir progressivement. Ajustez éventuellement la swappiness après mesure, sans imposer une valeur universelle : un swap disque lent, zram et zswap peuvent justifier des réglages très différents.

Les outils de nettoyage comme BleachBit sont-ils utiles ?

Ils peuvent libérer de l’espace disque, mais ne garantissent pas une accélération du système. Vérifiez les éléments sélectionnés avant validation, notamment les données de navigateur et les fichiers de session. Ils ne remplacent pas les réglages plus techniques comme la swappiness, TLP ou la désactivation de services superflus.

Changer d’environnement de bureau améliore-t-il vraiment les performances ?

Souvent, surtout sur une machine limitée à 2 ou 4 Go de RAM, mais le gain doit être mesuré. Xfce et LXQt constituent des choix prudents ; KDE Plasma peut également rester raisonnable selon les services, les effets et les applications chargés, tandis que GNOME demande généralement davantage de ressources.

TLP est-il utile sur un ordinateur de bureau non portable ?

TLP vise surtout les ordinateurs portables et la gestion de l’énergie selon l’alimentation. Sur un poste fixe ou un serveur, son intérêt est généralement limité ; ne forcez pas automatiquement le profil performance car il peut accroître la consommation, la chaleur et le bruit sans gain mesurable.

À quelle fréquence nettoyer et optimiser les performances Linux ?

Pour optimiser les performances Linux sans y passer trop de temps, un nettoyage des paquets, des caches et des journaux systemd une fois par mois suffit pour un usage courant. Les réglages de mémoire, de swap et de CPU, une fois appliqués correctement, n’ont pas besoin d’être répétés, sauf changement matériel.

Cette fréquence dépend surtout du type de machine. Sur un poste de bureau personnel, un passage mensuel reste largement suffisant. Sur un serveur en production, qui écrit en continu dans les journaux et accumule les mises à jour plus vite, un nettoyage hebdomadaire évite que les logs ne saturent le disque entre deux interventions. Sur une machine ancienne au stockage limité, resserrer l’intervalle à deux semaines garde une marge d’espace disque confortable.

Cette cadence s’applique quelle que soit la distribution : seule la commande change, pas la logique. Pour optimiser les performances Linux proprement, adaptez simplement les commandes au gestionnaire de paquets utilisé. Debian et Ubuntu utilisent apt autoremove et apt clean, Fedora et les distributions basées sur RHEL utilisent dnf autoremove et dnf clean all, openSUSE utilise zypper clean, Arch Linux nettoie son cache de paquets avec paccache (fourni par le paquet pacman-contrib), et Alpine utilise apk cache clean. Le nettoyage des journaux avec journalctl --vacuum-size fonctionne à l’identique sur toutes les distributions basées sur systemd ; sur Alpine (OpenRC, sans journald), c’est logrotate qui joue ce rôle, généralement déjà planifié automatiquement.

Plutôt que de retenir une date, le plus fiable reste d’automatiser ces commandes dans une tâche cron, sur le modèle décrit juste au-dessus. La page System maintenance de l’Arch Wiki détaille l’ensemble de ces tâches de fond, avec la même logique de fréquence, quelle que soit la distribution utilisée.

Dernière vérification des commandes et des procédures : 20 juillet 2026, d’après la documentation officielle des projets et distributions cités.

Vincent

Vincent est le créateur de MémoLinux. Venu de Windows par curiosité, il est resté sur Linux pour sa logique et le plaisir de comprendre ce qui se passe sous le capot. Il documente ici les commandes et les procédures qu’il utilise lui-même, avec leurs sources officielles et leur date de vérification.