oracular (7) numa.7.gz

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