Tuned : optimiser automatiquement les performances de Linux par profil
Ajuster automatiquement les performances de son système selon l'usage sans bricoler ses sysctl à la main.
Régler manuellement les paramètres du noyau Linux pour adapter une machine à sa charge de travail peut vite devenir chronophage : gouverneur CPU, ordonnanceur d'E/S disque, gestion d'énergie PCIe (ASPM), paramètres mémoire (vm.dirty_ratio, swappiness)...
Sur les distributions dérivées de Red Hat (RHEL, Rocky, Alma, Fedora) mais aussi sous Debian et Ubuntu, Tuned est le démon de référence pour automatiser tout ça proprement grâce à des profils pré-calibrés.
Le principe en deux mots
Tuned tourne en tâche de fond comme service systemd (tuned.service). Au lieu d'écrire des scripts sysctl ou des règles udev à la main un peu partout, on applique simplement un profil adapté à ce que fait la machine. Tuned ajuste alors l'ensemble des paramètres noyau de façon cohérente.
Les profils intégrés les plus utiles
Tuned est livré avec plusieurs profils prêts à l'emploi :
| Profil | Usage typique | Ce qu'il ajuste |
|---|---|---|
balanced |
Postes de travail et serveurs généralistes | Bon compromis entre réactivité et consommation électrique. |
throughput-performance |
Serveurs de calcul, bases de données | Gouverneur CPU en mode performance, augmentation des tampons réseau et I/O, économies d'énergie désactivées. |
latency-performance |
Traitement temps réel, audio, faible latence | Priorité à la latence minimale (désactivation des états C profonds du processeur). |
powersave |
PC portables, petites machines au repos | Fréquence CPU réduite, mise en veille agressive des périphériques inactifs (PCIe ASPM, disques). |
virtual-guest |
Machines virtuelles (KVM/QEMU) | Réduction du swappiness, ajustement des caches disque pour l'hyperviseur. |
virtual-host |
Hyperviseurs (KVM, Proxmox) | Augmentation des limites de mémoire partagée et files d'attente d'E/S. |
accelerator-performance |
Calculs intensifs sur GPU | Maintien du processeur et des bus PCIe à leur cadence maximale en continu. |
Installation et prise en main
Sur Debian / Ubuntu :
sudo apt update
sudo apt install tuned
sudo systemctl enable --now tuned
Sur RHEL / Rocky Linux / Fedora :
sudo dnf install tuned
sudo systemctl enable --now tuned
Les commandes à connaître au quotidien
Tout se pilote avec la commande tuned-adm :
# Voir le profil actuellement actif
tuned-adm active
# Lister tous les profils disponibles
tuned-adm list
# Laisser Tuned analyser la machine et recommander le meilleur profil
tuned-adm recommend
# Appliquer un profil (ex: orienté débit pour un serveur de base de données)
sudo tuned-adm profile throughput-performance
# Revenir à la normale / désactiver le tuning
sudo tuned-adm off
Créer son propre profil sur mesure
Si un profil existant est presque parfait mais qu'il vous manque deux ou trois réglages spécifiques, pas besoin de repartir de zéro : Tuned gère l'héritage de profils.
On crée un dossier dans /etc/tuned/ avec un fichier tuned.conf :
Exemple pour /etc/tuned/mon-serveur-db/tuned.conf :
[main]
summary=Tuning maison pour serveur PostgreSQL
include=throughput-performance
[sysctl]
# On limite le recours au swap à 10%
vm.swappiness=10
# On augmente la file d'attente des connexions réseau
net.core.somaxconn=4096
[cpu]
# Forcer la fréquence max sur tous les cœurs
governor=performance
energy_perf_bias=performance
Pour l'activer :
sudo tuned-adm profile mon-serveur-db
Et pour ceux qui cherchent la vitesse brute ?
Sur un poste de dev ou de jeu où l'on veut des performances maximales sans rien configurer, des distributions comme CachyOS (basée sur Arch) intègrent déjà des noyaux optimisés (schedulers BORE / EEVDF / sched-ext) et des flags de compilation agressifs. Pour un serveur sous Debian ou Ubuntu, Tuned reste la solution la plus propre et la plus modulaire à mettre en place.
En résumé
- Tuned évite d'éparpiller des réglages
sysctlet scripts perso au quatre coins du système. - La commande
tuned-adm recommenddonne une excellente base de départ. - L'héritage via
include=...permet de surcharger quelques paramètres sans réinventer la roue ;)