Provided by: manpages-ro_4.27.0-1_all bug

NUME

       numa - prezentare generală a arhitecturii de memorie neuniformă

DESCRIERE

       Accesul  neuniform  la memorie (NUMA) se referă la sistemele multiprocesor a căror memorie este împărțită
       în mai multe noduri de memorie. Timpul de acces al unui nod de memorie depinde de locațiile relative  ale
       procesorului  care  face  accesul  și  ale  nodului  accesat;  (acest  lucru  contrastează  cu  un sistem
       multiprocesor simetric, în care timpul de acces la toată memoria este același pentru toate CPU-urile). În
       mod normal, fiecare CPU dintr-un sistem NUMA are un nod de memorie  local  al  cărui  conținut  poate  fi
       accesat mai repede decât memoria din nodul local al unui alt CPU sau memoria de pe o magistrală partajată
       de toate CPU-urile.

   Apeluri de sistem NUMA
       Nucleul  Linux  implementează  următoarele  apeluri de sistem legate de NUMA: get_mempolicy(2), mbind(2),
       migrate_pages(2), move_pages(2) și set_mempolicy(2). Cu toate acestea,  în  mod  normal,  aplicațiile  ar
       trebui  să utilizeze interfața oferită de libnuma; a se vedea secțiunea "Suport pentru bibliotecă" de mai
       jos.

   /proc/pid/numa_maps (începând cu Linux 2.6.14)
       Acest fișier afișează informații despre politica și alocarea memoriei NUMA a unui proces.

       Fiecare linie conține informații despre un interval de  memorie  utilizat  de  proces,  afișând,  printre
       altele,  politica  de  memorie  efectivă  pentru acel interval de memorie și pe ce noduri au fost alocate
       paginile.

       numa_maps este un fișier numai pentru citire. Atunci când  /proc/pid/numa_maps  este  citit,  nucleul  va
       scana  spațiul  virtual  de  adrese  al procesului și va raporta modul în care este utilizată memoria. Se
       afișează câte o linie pentru fiecare interval de memorie unic al procesului.

       Primul câmp al fiecărei linii indică adresa de început a intervalului de memorie. Acest  câmp  permite  o
       corelare  cu  conținutul fișierului /proc/pid/maps, care conține adresa de sfârșit a intervalului și alte
       informații, cum ar fi permisiunile de acces și partajarea.

       Al doilea câmp arată politica de memorie în vigoare în prezent pentru intervalul de memorie. Rețineți  că
       politica  în  vigoare  nu este neapărat politica instalată de proces pentru acel interval de memorie. Mai
       exact, dacă procesul a instalat o politică „implicită” pentru  intervalul  respectiv,  politica  efectivă
       pentru acest interval va fi politica procesului, care poate fi sau nu „implicită”.

       Restul liniei conține informații despre paginile alocate în intervalul de memorie, după cum urmează:

       N<node>=<număr-pagini>
              Numărul  de pagini alocate pe <nod>. <nr_pages> include numai paginile alocate în prezent de către
              proces. Este posibil ca migrarea  paginilor  și  recuperarea  memoriei  să  aibă  pagini  temporar
              nemarcate  asociate  cu  acest interval de memorie. Aceste pagini pot apărea din nou numai după ce
              procesul a încercat să le facă referire. În cazul în care intervalul de memorie reprezintă o  zonă
              de  memorie  partajată  sau  o  cartografiere  de fișiere, este posibil ca alte procese să aibă în
              prezent pagini suplimentare cartografiate într-un interval de memorie corespunzător.

       file=<nume-fișier>
              Fișierul care stochează intervalul de memorie. În cazul în  care  fișierul  este  cartografiat  ca
              fiind  privat,  este  posibil  ca  accesele  în scriere să fi generat pagini COW („Copy-On-Write”,
              copiere la scriere) în acest interval de memorie. Aceste pagini sunt afișate ca pagini anonime.

       heap   Intervalul de memorie este utilizat pentru grămadă „heap”.

       stack  Intervalul de memorie este utilizat pentru stivă.

       huge   Interval de memorie imens. Numărul de pagini indicat reprezintă pagini  imense  și  nu  pagini  de
              dimensiuni normale.

       anon=<pagini>
              Numărul de pagini anonime din interval.

       dirty=<pagini>
              Numărul de pagini murdare „dirty”.

       mapped=<pagini>
              Numărul  total  de  pagini cartografiate, dacă este diferit de paginile murdare „dirty” și anonime
              „anon”.

       mapmax=<număr>
              Numărul maxim de procese de cartografiere (numărul de procese care cartografiază o singură pagină)
              întâlnit în timpul scanării. Acesta poate fi utilizat ca indicator al gradului de  partajare  care
              are loc într-un anumit interval de memorie.

       swapcache=<număr>
              Numărul de pagini care au o intrare asociată pe un dispozitiv swap (memorie virtuală).

       active=<pagini>
              Numărul  de  pagini din lista activă. Acest câmp este afișat numai dacă este diferit de numărul de
              pagini din acest interval. Aceasta înseamnă că  în  intervalul  de  memorie  există  unele  pagini
              inactive  care  pot  fi  eliminate  din memorie de către gestionarul de memorie virtuală (swap) în
              curând.

       writeback=<pagini>
              Numărul de pagini care sunt în curs de scriere pe disc.

STANDARDE

       Niciunul.

NOTE

       Apelurile de sistem Linux NUMA și interfața /proc sunt disponibile numai dacă nucleul a  fost  configurat
       și construit cu opțiunea CONFIG_NUMA.

   Suport pentru bibliotecă
       Face  editarea de legături cu -lnuma pentru a obține definițiile apelurilor de sistem. libnuma și antetul
       necesar <numaif.h> sunt disponibile în pachetul numactl.

       Cu toate acestea, aplicațiile nu ar trebui să utilizeze direct aceste apeluri de sistem.  În  schimb,  se
       recomandă  utilizarea  interfeței  de  nivel  superior oferită de funcțiile numa(3) din pachetul numactl.
       Pachetul numactl este disponibil la  adresa  ftp://oss.sgi.com/www/projects/libnuma/download/.   Pachetul
       este,  de  asemenea, inclus în unele distribuții Linux. Unele distribuții includ biblioteca de dezvoltare
       și antetul în pachetul separat numactl-devel.

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                            numa(7)