Pourquoi ta machine Linux n'a pas besoin d'être « optimisée »
C'est déjà la première différence avec ce que tu connaissais avant. Un système qui ne se dégrade pas tout seul, qui ne remplit pas son registre d'entrées orphelines, qui ne démarre pas quarante services dont tu n'as jamais entendu parler. Le sujet de l'optimisation quotidienne d'un système d'exploitation se pose parce qu'un système finit par s'alourdir. Sur Linux, ce moment arrive beaucoup plus tard, et souvent pour de mauvaises raisons.
Ce que « optimiser » veut dire, en réalité
Quand tu cherches à accélérer ta machine, tu poursuis en général trois choses distinctes. Un démarrage plus rapide, une consommation de mémoire plus basse, et une interface qui répond sans délai. Ce sont trois problèmes séparés, et ils n'ont pas les mêmes causes.Le démarrage, c'est une question de services. Chaque démon lancé au boot prend du temps et de la mémoire, qu'il serve ou non. Sur une installation de bureau classique, tu en as une trentaine. Certains sont utiles, d'autres attendent un matériel qui n'existe pas sur ta machine.
La mémoire, c'est souvent un malentendu. Linux utilise la RAM libre pour du cache disque. Une machine avec 15 Go occupés sur 16 n'est pas en difficulté, elle travaille. Regarder `free -h` et paniquer devant la colonne « used » est l'erreur la plus courante.
La réactivité de l'interface, elle, dépend de ton serveur d'affichage, de ton compositeur, et de ton GPU. C'est là que les vrais gains se trouvent, et c'est aussi là que les choix coûtent cher.
Les services au démarrage
`systemctl list-unit-files --state=enabled` te donne la liste de tout ce qui se lance au boot. Tu vas y reconnaître des choses, et pas d'autres.La tentation est de tout désactiver. C'est une mauvaise idée. `systemd-networkd`, `systemd-resolved`, `dbus`, `NetworkManager` — si tu coupes l'un d'eux, tu perds le réseau ou la session graphique, et tu ne comprends pas tout de suite pourquoi.
Ce qui se désactive sans douleur, en général : les services d'impression si tu n'as pas d'imprimante, Bluetooth si tu n'en uses pas, `ModemManager` si tu n'as pas de modem cellulaire, les serveurs de fichiers si tu ne partages rien.
``` sudo systemctl disable --now cups.service sudo systemctl disable --now bluetooth.service sudo systemctl disable --now ModemManager.service ```
Chaque service coupé te rend quelques mégaoctets et quelques millisecondes. Le gain total sur une machine moderne se mesure en dixièmes de seconde. Ce n'est pas rien, ce n'est pas spectaculaire non plus.
Le coût, lui, est réel : le jour où tu branches une imprimante, tu ne comprends pas pourquoi elle n'est pas détectée. Tu as oublié. C'est toujours comme ça.
La mémoire n'est pas ton ennemie
`free -h` affiche une ligne « available ». C'est la seule qui compte. Le reste, c'est du cache que le noyau libérera dès qu'un programme en aura besoin.Si tu veux voir ce qui consomme vraiment, `htop` ou `ps aux --sort=-%mem | head -20` te le diront. Tu trouveras souvent Firefox avec quinze onglets, ou un Electron quelconque. Le coupable est rarement le système.
Les distributions légères existent pour les machines anciennes. Sur un portable de 2015 avec 4 Go de RAM, Xfce ou LXQt changent la donne. Sur une machine de 2022 avec 16 Go, la différence entre GNOME et Xfce se voit à l'œil, mais elle ne t'empêche pas de travailler.
Choisir léger, c'est choisir de renoncer à des choses. Les animations, les gestes tactiles, l'intégration fine avec les applications. Ce n'est pas gratuit, même quand c'est gratuit.
Le serveur d'affichage
C'est ici que le débat fait rage, et qu'il faut être honnête.X11 fonctionne depuis 1987. Il fait tout, mal parfois, mais tout. Le partage d'écran, les tablettes graphiques, les configurations multi-moniteurs exotiques, les applications distantes — tout passe. C'est un protocole ancien, bavard, et bourré de cas particuliers.
Wayland est plus propre. Pas de déchirure d'image, une meilleure gestion du HiDPI, une isolation correcte entre fenêtres. Mais Wayland casse des choses. Le partage d'écran sous Firefox demande un portail xdg-desktop-portal bien configuré. Les applications X11 lancées sous Wayland passent par XWayland, avec une latence supplémentaire et des raccourcis clavier qui parfois ne suivent pas.
Si tu fais du partage d'écran en visioconférence tous les jours, reste sur X11. Tu perds quelques millisecondes de latence, tu gagnes une réunion qui fonctionne.
Si tu es sur une machine récente, avec un GPU AMD ou Intel, et que tu ne fais rien d'exotique, Wayland te donnera une fluidité que X11 n'atteint pas. Le coût, c'est une heure de configuration quand quelque chose coince.
``` echo $XDG_SESSION_TYPE ```
Cette commande te dit sur quoi tu es. Si tu ne sais pas, tu es probablement sur X11 et ça ne te dérange pas.
Le compositeur
Sous X11, un compositeur gère les ombres, la transparence, les animations. `picom` est le plus répandu. Il apporte des effets visuels, et il coûte du CPU et du GPU.Sur une machine modeste, désactiver les ombres et les animations dans `picom.conf` rend l'interface sensiblement plus réactive. Sur une machine récente, tu ne verras pas la différence, sauf sur batterie.
Le vrai gain, quand tu veux de la fluidité, c'est de désactiver les animations du bureau. GNOME, KDE, Xfce — tous ont une option pour ça. C'est gratuit, ça ne casse rien, et ça se sent immédiatement sur les machines anciennes.
Le noyau et les pilotes
`uname -r` te donne ta version. Les distributions de bureau embarquent un noyau générique, compilé pour fonctionner partout. Un noyau `linux-zen` ou `linux-lts` peut mieux convenir selon ton usage, mais le gain est marginal sur une machine de bureau.Le vrai levier, ce sont les pilotes graphiques. Sur AMD et Intel, Mesa fait le travail, et il progresse à chaque version. Sur NVIDIA, le pilote propriétaire reste nécessaire pour les performances, avec ses compromis : pas de Wayland propre sans configuration, et une gestion des écrans parfois capricieuse.
``` glxinfo | grep "OpenGL renderer" ```
Si tu vois « llvmpipe », tu utilises le rendu logiciel. Ta carte graphique n'est pas reconnue, et tout ce qui touche à l'affichage sera lent. C'est le premier problème à régler, avant toute autre optimisation.
Ce que tu ne gagneras pas
Le mythe du « nettoyage » qui accélère la machine ne tient pas ici. Il n'y a pas de registre à nettoyer. Les fichiers temporaires s'accumulent dans `/tmp` et `/var/tmp`, et `systemd-tmpfiles` les efface selon une politique raisonnable.Les « tweaks » trouvés sur les forums — désactiver le swappiness, changer le scheduler d'E/S, modifier les paramètres `vm.*` — donnent des gains mesurables dans des cas précis et des régressions invisibles dans d'autres. Les appliquer sans comprendre ce qu'ils font, c'est jouer aux dés avec la stabilité de ta machine.
``` cat /proc/sys/vm/swappiness ```
La valeur par défaut, 60, convient à la plupart des usages. La baisser à 10 sur un serveur avec beaucoup de RAM se défend. Sur un portable avec 8 Go, c'est une mauvaise idée.
Ce qui compte vraiment
La vitesse perçue d'une machine dépend moins de son système que de ce que tu y fais tourner. Un navigateur avec cinquante onglets ouverts ralentira n'importe quelle configuration. Un IDE Java avec un projet volumineux fera ramer une machine qui semblait rapide.Investir dans un SSD NVMe change plus l'expérience quotidienne que n'importe quel réglage système. Passer de 8 à 16 Go de RAM fait plus pour le confort que désactiver dix services.
Le reste, c'est de la marge. Utile quand tu cherches les derniers pourcents, inutile quand tu veux juste que ta machine réponde.
Alors, faut-il optimiser ?
La question ne se pose pas de la même façon selon ce que tu as. Sur une machine de dix ans, chaque mégaoctet compte, et les distributions légères sont un vrai choix, pas un pis-aller. Sur une machine récente, tu optimises pour le plaisir, pas par nécessité.Ce qui distingue Linux des systèmes fermés, ce n'est pas qu'il soit plus rapide par nature. C'est que tu peux voir ce qui se passe, et décider. Tu peux couper un service, changer de compositeur, recompiler un noyau. Tu peux aussi ne rien faire, et ça marchera quand même.
Le bon réglage, c'est celui que tu comprends. Pas celui qu'un guide t'a donné sans expliquer pourquoi.
Et si tu passes tes soirées à ajuster des paramètres `sysctl` pour gagner trois millisecondes au démarrage, pose-toi la question : est-ce que tu optimises ta machine, ou est-ce que tu occupes ton temps ?