Profils optimisés pour l’optimisation de la charge de travail des serveurs Linux
16 min de lecture - 9 juin 2026

Comment choisir, appliquer et personnaliser des profils optimisés pour les serveurs Linux équipés de GPU, les serveurs de bases de données et les serveurs à large bande passante, avec des exemples et des conseils de déploiement Ansible.
Profils optimisés pour l’optimisation de la charge de travail des serveurs
Les paramètres par défaut de Linux sont optimisés pour la compatibilité, et non pour les performances. Le démon `tuned` fournit des profils prédéfinis qui ajustent les régulateurs de CPU, les planificateurs d’E/S, les paramètres du noyau et les tampons réseau afin de s’adapter à une charge de travail spécifique. Cet article explique le fonctionnement de ces profils, indique lequel choisir pour les rôles de serveur courants, et décrit comment créer et déployer des profils personnalisés sur un parc de serveurs.
Fonctionnement des profils optimisés
Un profil est un répertoire situé sous /usr/lib/tuned/profiles/ (système) ou /etc/tuned/profiles/ (personnalisé) contenant un tuned.conf fichier. Le fichier de configuration regroupe les paramètres par plugin : [cpu], [disk], [sysctl], [vm], [bootloader], et ainsi de suite. Activez un profil et le démon tuned applique tous les paramètres en une seule fois, plutôt que d’exécuter des dizaines de sysctl et sysfs commandes manuellement.
Les profils peuvent hériter les uns des autres grâce à la include . Le throughput-performance profil, par exemple, peut servir de base à un profil de base de données personnalisé qui ne remplace que vm.swappiness le paramètre « Transparent Huge Pages ».
tuned fonctionne selon deux modes. L’optimisation statique applique le profil une seule fois lors de l’activation et n’intervient plus sur le système, ce qui est souhaitable sur les serveurs de production où la cohérence prime sur les économies d’énergie. L’optimisation dynamique surveille l’utilisation du disque, du réseau et de la charge en temps réel et ajuste les paramètres à la volée. Les profils de performances désactivent l’optimisation dynamique par défaut afin d’éviter la surcharge liée à la surveillance.
Choisir le profil adapté à votre charge de travail
tuned propose une douzaine de profils couvrant les charges de travail les plus courantes. Choisissez celui qui correspond à l’activité réelle du serveur, plutôt que de conserver le balanced en place.
| Charge de travail | Profil | Fonctionnalités |
|---|---|---|
| Entraînement et inférence GPU | accelerator-performance | Verrouille le CPU dans des états C à faible consommation, maintenant la latence CPU-GPU en dessous de 100 µs |
| Bases de données (Postgres, MySQL, Redis) | throughput-performance | Désactive les économies d’énergie, optimise les E/S disque et réseau, désactive les Transparent Huge Pages |
| Réseaux à haut débit (CDN, réplication, pipelines de données) | network-throughput | Augmente la taille des tampons réseau du noyau pour des transferts à haut débit soutenus |
| Services sensibles à la latence | network-latency ou latency-performance | Fixe le régulateur du processeur sur performance, désactive les états C profonds |
| Clusters HPC et de calcul | hpc-compute | Optimise le rapport latence-performance grâce à NUMA et au réglage de la mémoire |
| Instances VPS (système d’exploitation invité) | virtual-guest | Réduit le paramètre « swappiness » et augmente la lecture anticipée sur disque pour les E/S paravirtualisées |
| Hôtes d’hyperviseur KVM | virtual-host | Optimise la réécriture des pages sales pour les charges de travail des machines virtuelles |
| Mixte ou inconnu | balanced | Paramètres par défaut. Privilégie l’efficacité énergétique au détriment des performances |
Pour certains moteurs de base de données spécifiques, tuned est également fourni postgresql, mssql, ainsi que oracle des profils qui vont plus loin que throughput-performance en ajustant les paramètres de la mémoire partagée et du planificateur du noyau pour ces moteurs.
Sur les serveurs à plusieurs sockets, la topologie NUMA a son importance. L’accès à la mémoire d’un nœud distant peut être deux à trois fois plus lent que l’accès local. Pour les charges de travail où la latence est critique sur des machines à deux sockets, désactivez l’équilibrage NUMA automatique dans le profil et affectez manuellement les processus à des nœuds spécifiques.
Installation et application des profils
Installez tuned sur RHEL, Rocky, AlmaLinux ou Fedora :
dnf install tuned
systemctl enable --now tunedSous Debian et Ubuntu, le paquet s'appelle également tuned et s’installe via apt. Si power-profiles-daemon est déjà en cours d'exécution, masquez-le pour éviter les conflits :
systemctl mask --now power-profiles-daemonRépertoriez les profils disponibles, demandez à tuned ce qu’il recommande pour le matériel, appliquez un profil et vérifiez-le :
tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verifyLe profil actif est stocké dans /etc/tuned/active_profile et est conservé après les redémarrages. Pour supprimer entièrement les réglages et mesurer la valeur de référence, exécutez tuned-adm off.
Création d’un profil personnalisé pour l’IA, le ML et les charges de travail à forte bande passante
Lorsque les profils par défaut vous permettent d’atteindre 90 % de votre objectif, créez un profil personnalisé qui hérite du profil le plus proche et remplace les paramètres restants. Commencez par un répertoire et un fichier de configuration :
mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
[cpu]
governor=performance
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
[vm]
transparent_hugepages=never
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
tuned-adm profile ai-gpuLes choix clés ici :
numa_balancing=0empêche le noyau de migrer la mémoire entre les sockets pendant les sessions d’entraînement, une source courante de ralentissement sur les machines à double socket équipées de GPU.- Le
rmem_maxettcp_rmemaugmentent la limite maximale du tampon de socket à 256 Mo. Sur des interconnexions de 25G, 40G ou 100G entre les nœuds d’entraînement, les tailles de tampon par défaut limitent le débit bien en deçà du débit de ligne. transparent_hugepages=neversupprime la gigue de latence provoquée par le THP pour les frameworks tels que PyTorch et TensorFlow qui allouent de grands tenseurs.iommu=ptmet l’IOMMU en mode passthrough, ce qui est nécessaire pour le passthrough des GPU et des cartes réseau, et réduit la surcharge liée au DMA sur les serveurs bare-metal.
Toute valeur inférieure à [bootloader] nécessite un redémarrage. Après avoir activé le profil, exécutez tuned-adm verify pour vérifier que les paramètres d’exécution ont bien été appliqués, puis vérifiez journalctl -u tuned s'il y a des erreurs. Effectuez des tests de performance avant et après avec iostat -xz, numastatet l’outil de charge de travail approprié (iperf3, fioou la session d’entraînement proprement dite).
Un compromis qui mérite d’être explicitement mentionné : la désactivation des mesures de sécurité du processeur permet de gagner environ 3 à 8 % sur les charges de travail GPU, mais entraîne une perte de 15 à 30 % sur les charges de travail comportant de nombreux appels système. Prenez votre décision en fonction du modèle de menace de la machine. Au sein d’un cluster d’entraînement dédié protégé par un pare-feu, le calcul est généralement en faveur de leur désactivation. Sur un hôte multi-locataires, laissez-les activées.
Gestion des profils sur un parc de serveurs
L'application manuelle de `tuned` n'est plus viable dès lors que l'on dépasse une poignée de serveurs. Ansible gère cela de manière efficace. Un seul playbook installe `tuned` et crée des répertoires de profils personnalisés sous /etc/tuned/ via le template module, puis applique le profil approprié à chaque groupe d’inventaire.
Mapper les profils aux rôles dans l’inventaire :
- Nœuds GPU et IA :
accelerator-performance, ou un profil personnalisé qui en hérite - Serveurs de bases de données :
throughput-performanceou le profil spécifique au moteur - Nœuds CDN et périphériques générant un trafic à haut débit :
network-throughput - Serveurs API et Web derrière un équilibreur de charge :
network-latency - VPS et machines invitées KVM :
virtual-guest - Hôtes d'hyperviseurs :
virtual-host
La dérive est le véritable problème opérationnel. Les sysctl , les mises à jour de paquets introduisant de nouvelles valeurs par défaut, ou encore l’intervention d’un autre outil de gestion de configuration qui prend le pas sur Tuned, sont autant de facteurs qui entraîneront une divergence des paramètres par rapport à ce que spécifie le profil. Planifiez l’exécution d’une tâche Ansible tuned-adm active et tuned-adm verify via cron et configurez des alertes en cas d’échec. Surveillez /var/log/tuned/tuned.log les lignes indiquant « Échec de la vérification ».
Conclusion
tuned élimine en grande partie les approximations liées au réglage du noyau et des paramètres sysctl. Les paramètres par défaut sont suffisants pour une utilisation générale, et les profils spécifiques à certaines charges de travail, tels que accelerator-performance, throughput-performance, et network-throughput vous permettent d’atteindre un niveau d’optimisation quasi complet sans avoir à rédiger le moindre fichier de configuration.
- Choisissez le profil par défaut le plus proche, exécutez
tuned-adm verify, puis effectuez des tests de performance - Créez des profils personnalisés en héritant d’un profil par défaut et en ne modifiant que ce dont vous avez besoin
- Réfléchissez bien à l’équilibrage NUMA, aux pages géantes et à la taille des tampons réseau sur les machines équipées de GPU et à forte bande passante
- Déployez avec Ansible et effectuez des audits réguliers pour détecter les dérives
Vous avez besoin d’une capacité « bare-metal » avec une marge de bande passante suffisante pour exploiter pleinement ces paramètres ? Contactez FDC pour découvrir nos serveurs dédiés conçus pour les charges de travail à haut débit et les charges de travail GPU.

Tutoriel iperf3 : tester la vitesse du réseau sous Linux et Windows
Installez iperf3, effectuez des tests de bande passante et réglez les tampons TCP pour obtenir des résultats précis sous Linux et Windows. Couvre les tests UDP, bidirectionnels et 10 GbE+.
10 min de lecture - 7 mai 2026
Profils optimisés pour l’optimisation de la charge de travail des serveurs Linux
16 min de lecture - 9 juin 2026