Provided by: manpages-ro_4.28.0-2_all 

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)