SysadminNews

glibc 2.44 : /etc/tunables.conf pour tout le système

Sur cette page
  1. Le fichier qui règle une vieille corvée
  2. Des grandes pages pour le code, pas seulement pour les données
  3. Le reste de la publication
  4. Que faire maintenant
  5. Sources et pour aller plus loin

La bibliothèque GNU C 2.44 est sortie le samedi vingt cinq juillet, et le changement que la plupart des administrateurs vont sentir tient dans un fichier : /etc/tunables.conf. Jusqu'ici, régler un tunable glibc voulait dire exporter GLIBC_TUNABLES dans l'environnement de chaque processus concerné, donc éditer les unités systemd une par une ou envelopper les binaires dans des scripts. Le nouveau fichier permet de déclarer les tunables une fois, un par ligne, avec des filtres pour en limiter la portée. La version ajoute aussi un tunable pour les grandes pages transparentes sur les segments exécutables en lecture seule, et des routines mathématiques plus rapides.

The short answer

La bibliothèque GNU C 2.44 est arrivée le samedi vingt cinq juillet. Le changement opérationnel s'appelle /etc/tunables.conf, un fichier système pour les tunables glibc qui évite de pousser GLIBC_TUNABLES dans l'environnement de chaque processus. Un nouveau tunable contrôle les grandes pages transparentes pour les segments exécutables en lecture seule, l'implémentation de cosh gagne environ 35 pour cent grâce à la multiplication addition fusionnée, et d'autres fonctions correctement arrondies arrivent de CORE-MATH. Attendue dans Ubuntu 26.10 et Fedora 45.

2.44version glibc, publiée le vingt cinq juillet 2026
~35 %de gain sur cosh avec la nouvelle implémentation FMA
26.10 / 45versions Ubuntu et Fedora attendues avec
Carte réponse : glibc 2.44, publiée le vingt cinq juillet 2026, introduit /etc/tunables.conf pour les tunables système en alternative à la variable GLIBC_TUNABLES, ajoute un tunable pour les grandes pages transparentes sur les segments exécutables en lecture seule, et accélère cosh d'environ 35 pour cent.
Un fichier au lieu d'une variable d'environnement sur chaque unité. Source : annonce de publication glibc 2.44 du vingt cinq juillet. PNG

Quiconque a tenté de poser un tunable glibc sur un parc entier connaît la forme du problème. Le réglage lui même tient sur une ligne. Amener cette ligne devant chaque processus concerné, c'est le vrai travail, et jusqu'à cette semaine la seule route supportée passait par l'environnement.

Le fichier qui règle une vieille corvée

Les tunables glibc permettent d'ajuster le comportement de l'allocateur, la sélection des capacités matérielles et quelques autres mécanismes internes sans rien recompiler. Ils sont réellement utiles, et ils ont toujours été un peu pénibles à déployer, car la seule interface était la variable GLIBC_TUNABLES. Cette variable doit être présente dans l'environnement du processus visé, ce qui sur un hôte Linux moderne veut dire une ligne Environment ou EnvironmentFile dans une unité systemd, répétée pour chaque service, et remise à chaque fois que quelqu'un en écrit un nouveau.

glibc 2.44 introduit /etc/tunables.conf. Vous écrivez un tunable par ligne, et un éventail de filtres et d'autres options permet d'en contrôler la portée. La gestion de configuration génère un fichier, le dépose, et le réglage s'applique au système plutôt qu'aux seules unités que quelqu'un a pensé à éditer.

La variable d'environnement continue de fonctionner, ce qui est le bon arbitrage pour un changement de ce type. Rien de ce que vous avez déjà déployé ne casse. La migration sensée consiste à déplacer vos valeurs par défaut de parc dans le fichier, où elles deviennent lisibles pour quiconque consulte la configuration de l'hôte, et à garder la variable pour les vraies exceptions où un service doit différer de ce qui l'entoure.

Liste des changements de glibc 2.44 : un nouveau fichier /etc/tunables.conf pour les tunables système avec filtres, un tunable pour les grandes pages transparentes sur les segments exécutables en lecture seule, une implémentation de cosh en multiplication addition fusionnée environ 35 pour cent plus rapide, davantage de fonctions mathématiques correctement arrondies importées de CORE-MATH, de nouvelles optimisations pour LoongArch, AArch64 et RISC-V, et la prise en charge de LoongArch32.
La forme complète de la publication. L'essentiel arrive sans aucune action de votre part. PNG

Des grandes pages pour le code, pas seulement pour les données

Le second changement à lire attentivement est un tunable qui gouverne les grandes pages transparentes pour les segments exécutables en lecture seule. La distinction compte. Les discussions sur les grandes pages portent d'ordinaire sur le tas, où glibc propose depuis un moment des contrôles côté allocateur. Celui ci couvre le code exécutable mappé : vos binaires et les bibliothèques partagées qu'ils entraînent.

Adosser les chemins de code chauds à des pages de deux mégaoctets réduit la pression sur le TLB d'instructions. Sur un binaire à empreinte d'instructions large et dispersée, cela se traduit par un débit mesurable. Les moteurs de bases de données, les environnements d'exécution compilés à la volée et les gros services monolithiques sont les charges où le gain apparaît le plus nettement.

Le réglage arrive comme tunable et non comme valeur par défaut parce que le bénéfice dépend de la charge, et les grandes pages sont historiquement un domaine où un réglage qui aide un service ne fait rien pour le suivant. Traitez le comme quelque chose à mesurer sur vos propres binaires, pas à activer sur tout le parc parce qu'une note de publication l'a mentionné.

Le reste de la publication

Le travail mathématique poursuit un rythme que glibc tient depuis plusieurs cycles. Une implémentation de cosh en multiplication addition fusionnée apporte environ 35 pour cent d'amélioration, et d'autres fonctions optimisées et correctement arrondies arrivent du projet CORE-MATH. Le terme correctement arrondi porte un vrai sens ici, car il garantit des résultats cohérents plutôt que variables sur le dernier bit d'une implémentation à l'autre, ce qui rend les résultats numériques reproductibles d'une machine à l'autre.

Côté architectures, 2.44 apporte des optimisations pour les processeurs LoongArch, AArch64 et RISC-V, et introduit la prise en charge de LoongArch32, la variante trente deux bits. La publication comporte aussi une poignée de correctifs de sécurité, ce qui est habituel pour glibc et vous parvient automatiquement à la mise à jour du paquet.

Que faire maintenant

Très peu de choses, et c'est la bonne réponse. glibc est le paquet le plus conservateur de la pile d'une distribution, et il vous parvient quand votre éditeur décide qu'il le doit. Ubuntu 26.10 et Fedora 45 sont les cibles annoncées pour l'automne. Les distributions d'entreprise seront nettement en retrait, ce qui relève de leur nature plutôt que d'un défaut.

La préparation utile consiste à savoir ce qu'est ce fichier avant qu'il n'apparaisse. Si vous transportez aujourd'hui des tunables glibc dans des unités systemd ou des scripts d'enveloppe, notez lesquels et pourquoi, car cet inventaire est exactement ce que vous convertirez quand 2.44 arrivera sur vos images. Le faire maintenant, tant que les raisons sont encore lisibles, coûte moins cher que de les reconstituer à partir d'une ligne Environment dans dix huit mois.

Sources et pour aller plus loin

Questions fréquentes

Qu'est ce que /etc/tunables.conf et pourquoi cela compte ?

C'est un nouveau fichier de configuration introduit par glibc 2.44 qui porte les tunables glibc à l'échelle du système, un par ligne, avec des filtres et d'autres options pour cibler les programmes concernés. Auparavant, la seule voie supportée était la variable d'environnement GLIBC_TUNABLES, qui devait atteindre chaque processus visé. Sur un hôte systemd, cela signifiait une ligne Environment dans chaque unité, ou un script d'enveloppe autour du binaire. Un fichier unique que la gestion de configuration sait générer et déposer correspond bien mieux à la façon dont les parcs sont réellement administrés.

La variable d'environnement fonctionne t elle toujours ?

Oui. GLIBC_TUNABLES ne disparaît pas dans cette version, et le nouveau fichier est présenté comme une alternative et non comme un remplacement. C'est important pour la migration, car vous pouvez adopter le fichier là où il aide et laisser tranquilles les réglages par variable qui fonctionnent déjà. Le schéma pratique consiste à déplacer les valeurs par défaut du parc dans le fichier, où elles deviennent visibles et relisibles, et à garder la variable pour les cas isolés où un service a réellement besoin d'un comportement différent du reste de la machine.

Que change le réglage sur les grandes pages transparentes ?

glibc 2.44 ajoute un tunable qui contrôle l'usage des grandes pages transparentes pour les segments exécutables en lecture seule, c'est à dire le code de vos binaires et bibliothèques plutôt que le tas. Adosser du code chaud à des pages de deux mégaoctets réduit la pression sur le TLB d'instructions, ce qui se traduit par un gain de débit sur les gros binaires à empreinte d'instructions étendue, les moteurs de bases de données et les environnements d'exécution de langages étant les cas classiques. C'est un tunable et non un défaut parce que le bénéfice dépend fortement de la charge, donc mesurez sur vos propres binaires avant tout déploiement.

Quel est le gain en calcul mathématique ?

Le chiffre mis en avant est une implémentation de cosh en multiplication addition fusionnée qui apporte environ 35 pour cent d'amélioration. La version importe aussi d'autres fonctions mathématiques optimisées et correctement arrondies venues du projet CORE-MATH, prolongeant un travail étalé sur plusieurs cycles glibc. Le caractère correctement arrondi compte autant que la vitesse, car il garantit des résultats reproductibles d'une implémentation à l'autre plutôt que variables sur le dernier bit. Si votre charge est numérique, c'est un gain gratuit qui arrive avec une mise à jour de bibliothèque ordinaire.

Quand vais je réellement disposer de glibc 2.44 ?

Via votre distribution, à son propre rythme. Ubuntu 26.10 et Fedora 45 sont les deux cibles annoncées pour l'automne 2026. Les distributions d'entreprise à cycle long seront nettement plus tardives, puisque glibc est le paquet le plus conservateur de toute la pile et qu'aucun éditeur ne le change de version en cours de cycle à la légère. Personne ne devrait compiler glibc depuis les sources sur un hôte de production pour obtenir un fichier de tunables en avance. Notez les nouveautés, et planifiez pour le moment où la version empaquetée arrivera.

Advertisement