17.11. Configuration des politiques NUMA à l'aide de systemd
L'accès non uniforme à la mémoire (NUMA) est une conception de sous-système de mémoire d'ordinateur, dans laquelle le temps d'accès à la mémoire dépend de l'emplacement physique de la mémoire par rapport au processeur.
La mémoire proche de l'unité centrale a un temps de latence plus faible (mémoire locale) que la mémoire locale d'une autre unité centrale (mémoire étrangère) ou partagée entre plusieurs unités centrales.
En ce qui concerne le noyau Linux, la politique NUMA régit où (par exemple, sur quels nœuds NUMA) le noyau alloue des pages de mémoire physique pour le processus.
systemd
fournit les options de fichier d'unité NUMAPolicy
et NUMAMask
pour contrôler les politiques d'allocation de mémoire pour les services.
Procédure
Pour définir la politique de mémoire NUMA à l'aide de l'option NUMAPolicy
unit file option :
Vérifiez les valeurs de l'option de fichier de l'unité
NUMAPolicy
dans le service de votre choix :$ systemctl show --property <NUMA policy configuration option> <service name>
En tant qu'utilisateur principal, définissez le type de stratégie requis pour l'option de fichier d'unité
NUMAPolicy
:# systemctl set-property <service name> NUMAPolicy=<value>
Redémarrez le service pour appliquer les modifications.
# systemctl restart <service name>
Pour définir un paramètre global NUMAPolicy
via l'option manager configuration:
-
Recherchez l'option
NUMAPolicy
dans le fichier/etc/systemd/system.conf
. - Modifiez le type de politique et enregistrez le fichier.
Recharger la configuration de
systemd
:# systemd daemon-reload
- Redémarrer le serveur.
Lorsque vous configurez une politique NUMA stricte, par exemple bind
, veillez à définir également l'option de fichier d'unité CPUAffinity=
.
Ressources supplémentaires
- Utilisation de la commande systemctl pour fixer des limites aux applications
-
Les pages du manuel
systemd.resource-control(5)
,systemd.exec(5)
,set_mempolicy(2)
.