slabinfo(5)

NUME
slabinfo - statisticile alocatorului de „slab” al nucleului

SINOPSIS
cat /proc/slabinfo

DESCRIERE
Obiectele utilizate frecvent în nucleul Linux (antete de memorie tampon, noduri-i, intrări de directoare „dentries”, etc.) au propria lor memorie cache. Fișierul /proc/slabinfo oferă statistici cu privire la aceste cache-uri. Următoarea ieșire (editată) prezintă un exemplu de conținut al acestui fișier:

    $ sudo cat /proc/slabinfo;
    slabinfo - version: 2.1
    # name    <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> ...
    sigqueue      100  100  160   25  1 : tunables  0  0  0 : slabdata   4   4  0
    sighand_cache 355   405 2112  15  8 : tunables  0  0  0 : slabdata  27  27  0
    kmalloc-8192   96   96  8192   4  8 : tunables  0  0  0 : slabdata  24  24  0
    ...

Prima linie de ieșire include un număr de versiune, ceea ce permite unei aplicații care citește fișierul să gestioneze modificările în formatul fișierului; (a se vedea secțiunea VERSIUNI, de mai jos). Următoarea linie enumeră numele coloanelor din liniile rămase.

Fiecare dintre liniile rămase afișează informații despre o anumită memorie cache. După numele memoriei cache, ieșirea afișată pe fiecare linie prezintă trei componente pentru fiecare cache:

•   statistici

•   ajustabile „tunables”

•   date slab „slabdata”

Statisticile sunt următoarele:

active_objs
    Numărul de obiecte care sunt active în prezent (adică în uz).

num_objs
    Numărul total de obiecte alocate (adică obiectele care sunt atât în uz, cât și neutilizate).

objsize
    Dimensiunea obiectelor din acest bloc „slab”, în octeți.

objperslab
    Numărul de obiecte stocate în fiecare „slab”.

pagesperslab
    Numărul de pagini alocate pentru fiecare „slab”.

Intrările tunables din fiecare linie arată parametrii reglabili pentru memoria cache corespunzătoare. Atunci când se utilizează alocatorul implicit SLUB, nu există parametri reglabili, fișierul /proc/slabinfo nu poate fi scris, iar valoarea 0 este afișată în aceste câmpuri. Atunci când se utilizează alocatorul SLAB mai vechi, parametrii reglabili pentru o anumită memorie cache pot fi stabiliți prin scrierea unor linii de forma următoare în /proc/slabinfo:

    # echo 'name limit batchcount sharedfactor' > /proc/slabinfo;

Aici, name este numele memoriei cache, iar limit, batchcount și sharedfactor sunt numere întregi care definesc noi valori pentru elementele de reglaj corespunzătoare. Valoarea limit trebuie să fie o valoare pozitivă, batchcount trebuie să fie o valoare pozitivă care este mai mică sau egală cu limit, iar sharedfactor trebuie să fie nenegativă. Dacă una dintre valorile specificate nu este valabilă, parametrii memoriei cache rămân neschimbate.

Intrările tunables din fiecare linie conțin următoarele câmpuri:

limit
    Numărul maxim de obiecte care vor fi stocate în memoria cache.

batchcount
    Pe sistemele SMP, aceasta specifică numărul de obiecte care se transferă o singură dată atunci când se completează lista de obiecte disponibile.

sharedfactor
    [A se documenta]

Intrările slabdata din fiecare linie conțin următoarele câmpuri:

active_slabs
    Numărul de „slab-uri” active.

nums_slabs
    Numărul total de „slab-uri”.

sharedavail
    [A se documenta]

Rețineți că, din cauza alinierii obiectelor și a costurilor de gestionare a memoriei cache, în mod normal, obiectele nu sunt în mod normal compacte în pagini. Paginile care conțin chiar și un singur obiect în uz sunt considerate în uz și nu pot fi eliberate.

Nucleele configurate cu CONFIG_DEBUG_SLAB vor avea, de asemenea, câmpuri statistice suplimentare în fiecare linie, iar prima linie a fișierului va conține șirul „(statistici)”. Câmpurile de statistici includ : nivelul maxim al obiectelor active; numărul de ori în care au fost alocate obiecte; numărul de ori în care memoria cache a crescut (pagini noi adăugate la această memorie cache); numărul de ori în care memoria cache a fost culeasă (pagini nefolosite eliminate din această memorie cache); și numărul de ori în care a existat o eroare de alocare de pagini noi în această memorie cache.

VERSIUNI
Fișierul /proc/slabinfo a apărut pentru prima dată în Linux 2.1.23. Fișierul a evoluat și, de-a lungul timpului, au existat mai multe versiuni cu aspecte diferite:

1.0 Prezentă în toată seria de nuclee Linux 2.2.x.

1.1 Prezentă în seria de nuclee Linux 2.4.x.

1.2 Un format care a fost prezent pentru scurt timp în seria de dezvoltare Linux 2.5.

2.0 Prezentă în nucleele Linux 2.6.x până la Linux 2.6.9 inclusiv.

2.1 Formatul actual, care a apărut pentru prima dată în Linux 2.6.10.

NOTE
Numai root poate citi și (dacă nucleul a fost configurat cu CONFIG_SLAB) scrie fișierul /proc/slabinfo.

Cantitatea totală de memorie alocată pentru memoria cache SLAB/SLUB este afișată în câmpul Slab din /proc/meminfo.

CONSULTAȚI ȘI
slabtop(1)

Fișierul sursă al nucleului Documentation/vm/slub.txt și tools/vm/slabinfo.c.

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.