proc_buddyinfo(5) File Formats Manual proc_buddyinfo(5)

/proc/buddyinfo - fragmentarea memoriei

/proc/buddyinfo
Acest fișier conține informații care sunt utilizate pentru diagnosticarea problemelor de fragmentare a memoriei. Fiecare linie începe cu identificarea nodului și numele zonei care, împreună, identifică o regiune de memorie. Acestea sunt urmate de numărul de fragmente disponibile într-o anumită ordine în care aceste zone sunt împărțite. Dimensiunea în octeți a unei anumite ordini este dată de formula:

(2^ordine) * PAGE_SIZE

Algoritmul de alocare binar buddy din cadrul nucleului va împărți un fragment în două fragmente de o ordine mai mică (deci cu jumătate din dimensiune) sau va combina două fragmente contigue într-un fragment mai mare de o ordine mai mare (deci cu dimensiune dublă) pentru a satisface cererile de alocare și pentru a contracara fragmentarea memoriei. Ordinea se potrivește cu numărul coloanei, atunci când numărătoarea începe de la zero.
De exemplu, într-un sistem x86-64:
Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587
În acest exemplu, există un nod care conține trei zone și există 11 dimensiuni diferite ale fragmentelor. Dacă dimensiunea paginii este de 4 kiloocteți, atunci prima zonă numită DMA (pe x86 primii 16 megaocteți de memorie) are un fragment de 4 kiloocteți (ordinea 0) disponibil și are 3 fragmente de 4 megaocteți (ordinea 10) disponibile.
Dacă memoria este foarte fragmentată, contoarele pentru bucățile de ordin superior vor fi zero, iar alocarea de zone contigue mari va eșua.
Informații suplimentare despre zone pot fi găsite în /proc/zoneinfo.

proc(5)

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