numa(7) | Miscellaneous Information Manual | numa(7) |
numa - Panorama des architectures à mémoire non uniforme
NUMA (« Non-Uniform Memory Access » : accès à la mémoire de façon non uniforme) se réfère aux systèmes multiprocesseur dont la mémoire est divisé en plusieurs nœuds mémoire. Le temps d'accès à un nœud mémoire dépend de la localisation relative du CPU utilisateur et du nœud utilisé (à l'opposé des systèmes multiprocesseur symétriques pour lesquels le temps d'accès à la mémoire est le même quel que soit le CPU). Normalement, chaque CPU sur un système NUMA a un nœud mémoire local pour lequel il peut accéder plus rapidement au contenu, par rapport aux mémoires des nœuds locaux aux autres CPU où à la mémoire sur un bus partagé par tous les CPU.
Le noyau Linux implémente les appels système suivants liés aux NUM : get_mempolicy(2), mbind(2), migrate_pages(2), move_pages(2) et set_mempolicy(2). Cependant les applications devraient normalement utiliser l'interface fournie par libnuma ; consultez « Prise en charge par la bibliothèque » ci-dessous.
Ce fichier affiche des informations concernant l'allocation et la politique mémoire NUMA d'un processus.
Each line contains information about a memory range used by the process, displaying—among other information—the effective memory policy for that memory range and on which nodes the pages have been allocated.
numa_maps est un fichier en lecture seule. Quand /proc/<pid>/numa_maps est lu, le noyau analyse l'espace d'adressage virtuel du processus et indique comment la mémoire est utilisée. Une ligne est affichée pour chaque intervalle mémoire du processus.
Le premier champ de chaque ligne indique l'adresse de départ de l'intervalle mémoire. Ce champ permet une corrélation avec le contenu du fichier /proc/<pid>/maps, qui contient l'adresse de fin de l'intervalle et d'autres informations, comme les permissions d'accès et le partage.
Le second champ indique la politique mémoire effective actuellement pour l'intervalle mémoire. Notez que la politique effective n'est pas forcément la politique installée par le processus pour cet intervalle mémoire. En particulier, si le processus a installé une politique par défaut (« default ») pour cet intervalle, la politique effective pour cet intervalle sera la politique du processus, qui peut être ou ne pas être « default ».
Le reste de la ligne contient des informations sur les pages allouées dans l'intervalle mémoire, comme ceci :
Aucune norme ne régi les interfaces NUMA.
Les appels système NUMA de Linux et les interfaces /proc ne sont disponibles que si le noyau est configuré et construit avec l'option CONFIG_NUMA.
Faire l'édition des liens avec -lnuma pour obtenir la définition des appels système. libnuma et l'en-tête <numaif.h> sont disponibles dans le paquet numactl.
Cependant, les applications ne devraient pas utiliser ces appels système directement. À la place, l'interface de plus haut niveau fournie par les fonctions numa(3) du paquet numactl est recommandée. Le paquet numactl est disponible à l'adresse ftp://oss.sgi.com/www/projects/libnuma/download/. Le paquet est aussi inclus dans certaines distributions. Certaines distributions inclues séparément la bibliothèque et les en-têtes pour le développement dans le paquet numactl-devel.
get_mempolicy(2), mbind(2), move_pages(2), set_mempolicy(2), numa(3), cpuset(7), numactl(8)
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
5 février 2023 | Pages du manuel de Linux 6.03 |