Provided by: manpages-fr_4.19.0-7_all bug

NOM

       numa - Panorama des architectures à mémoire non uniforme

DESCRIPTION

       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.

   Appels système NUMA
       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.

   /proc/[number]/numa_maps (depuis Linux 2.6.14)
       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 :

       N<node>=<nombre_pages>
              Le nombre de pages allouées sur le nœud <node>. <nombre_pages> ne comprend que  les
              pages  actuellement projetées par le processus. Un déplacement ou une libération de
              page peut avoir temporairement déprojeté les pages associées  avec  cet  intervalle
              mémoire.  Ces  pages  ne  peuvent réapparaître que quand le processus essaie de les
              référencer. Si l'intervalle mémoire représente une zone de mémoire partagée ou  une
              projection  dans un fichier, d'autres processus peuvent actuellement avoir d'autres
              pages projetées dans l'intervalle mémoire associé.

       file=<nom_fichier>
              Le fichier contenant l'intervalle mémoire. Si le fichier est une projection privée,
              des  accès  en  écriture  peuvent  avoir produit des pages COW (« Copy-On-Write » :
              copie à l'écriture) dans cet intervalle mémoire. Ces pages sont affichées comme des
              pages anonymes.

       heap   L'intervalle mémoire est utilisé pour le tas.

       stack  L'intervalle mémoire est utilisé pour la pile.

       huge   Gros  intervalle mémoire. Le nombre de pages indiqué correspond à de grosses pages,
              pas à des pages de taille usuelle.

       anon=<pages>
              Le nombre de pages anonymes dans l'intervalle.

       dirty=<pages>
              Nombre de pages sales.

       mapped=<pages>
              Nombre total de pages projetées, n'étant ni sales (dirty), ni anonymes (anon).

       mapmax=<compte>
              Nombre maximal de processus projetant une même page (« mapcount ») rencontrés  lors
              de  l'analyse.  Ceci peut être utilisé comme indicateur du degré de partage dans un
              intervalle mémoire donné.

       swapcache=<compte>
              Nombre de pages qui ont une entrée associée sur un périphérique de partage.

       active=<pages>
              Le nombre de pages sur la liste active. Ce champ n'est affiché  que  si  ce  nombre
              diffère  du  nombre  de  pages dans l'intervalle. Ceci signifie que certaines pages
              inactives existent dans l'intervalle mémoire, et qu'elles pourront être retirées de
              la mémoire prochainement par le « swapper » (processus de gestion des périphériques
              d'échange).

       writeback=<pages>
              Nombre de pages qui sont actuellement en cours d'écriture sur le disque.

STANDARDS

       Aucune norme ne régi les interfaces NUMA.

NOTES

       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.

   Prise en charge par la bibliothèque
       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.

VOIR AUSSI

       get_mempolicy(2),   mbind(2),   move_pages(2),   set_mempolicy(2),   numa(3),   cpuset(7),
       numactl(8)

TRADUCTION

       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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.