| numa(7) | Miscellaneous Information Manual | numa(7) |
numa - prezentare generală a arhitecturii de memorie neuniformă
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.
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.
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ă:
Niciunul.
Apelurile de sistem Linux NUMA și interfața /proc sunt disponibile numai dacă nucleul a fost configurat și construit cu opțiunea CONFIG_NUMA.
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.
get_mempolicy(2), mbind(2), move_pages(2), set_mempolicy(2), numa(3), cpuset(7), numactl(8)
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.
| 2 mai 2024 | Pagini de manual de Linux 6.9.1 |