Loading

NOM

       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 multiprocesseurs dont la  mémoire  est
       divisé en plusieurs noeuds mémoire. Le temps d’accès à un noeud mémoire
       dépend de la localisation relative  du  CPU  utilisateur  et  du  noeud
       utilisé  (à  l’opposé  des  systèmes  multiprocesseurs 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 noeud mémoire
       local pour lequel il peut  accéder  plus  rapidement  au  contenu,  par
       rapport  aux  mémoires des noeuds 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  information  concernant  l’allocation  et  la
       politique mémoire NUMA d’un processus.

       Chaque  ligne contient des information concernant un intervalle mémoire
       utilisé par un processus, indiquant, entre autre, la politique  mémoire
       effective pour cet intervalle mémoire et sur quels noeuds les pages ont
       été allouées.

       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 noeud <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  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   maximum   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.

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.

CONFORMITÉ

       Aucune norme ne régi les interfaces NUMA.

VOIR AUSSI

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

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a  été  traduite  et  est  maintenue  par  Nicolas
       François  <nicolas.francois@centraliens.net> et l’équipe francophone de
       traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».