slabinfo(5)

NOM
slabinfo - Statistiques de l'allocateur slab du noyau

SYNOPSIS
cat /proc/slabinfo

DESCRIPTION
Les objets fréquemment utilisés dans le noyau Linux (en-têtes de tampon, inœuds, entrées de répertoire…) ont leur propre cache. Le fichier /proc/slabinfo en fournit les statistiques. La sortie (abrégée) suivante fournit un exemple du contenu de ce fichier :

    $ 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
    ...

La première ligne de cette sortie fournit le numéro de version qui permet à une application lisant ce fichier de gérer les modifications de format du fichier (consulter VERSIONS ci-après). La ligne suivante affiche les noms des colonnes pour les autres lignes.

Chacune des autres lignes affiche des informations à propos d’un cache particulier. Après le nom du cache, sont affichés, dans chaque ligne et pour chaque cache, trois volets :

-   statistiques ;

-   modifiables (tunable) ;

-   données de slab (slabdata).

Les statistiques sont les suivantes ;

active_objs
    le nombre d’objets actuellement actifs (c’est-à-dire en cours d’utilisation) ;

num_objs
    le nombre total d’objets alloués (c’est-à-dire les objets en cours d’utilisation et ceux qui ne le sont pas) ;

objsize
    la taille des objets de ce slab, en octets ;

objperslab
    le nombre d’objets stockés dans chaque slab ;

pagesperslab
    le nombre de pages allouées pour chaque slab.

Les entrées modifiables (tunable) dans chaque ligne affichent les paramètres modifiables dans le cache correspondant. Lors de l’utilisation de l’allocateur SLUB, il n’y a pas d’« entrées modifiables », le fichier /proc/slabinfo n’est pas éditable et ces champs contiennent la valeur zéro. Lors de l’utilisation de l’allocateur SLAB plus ancien, les « entrées modifiables » pour un cache particulier peuvent être définies en écrivant des lignes de la forme suivante dans /proc/slabinfo :

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

Ici, name est le nom du cache et limit, batchcount et sharedfactor sont des entiers définissant de nouvelles valeurs pour les « entrées modifiables » correspondantes. La valeur limit doit être une valeur positive, batchcount doit être une valeur positive inférieure ou égale à limit et sharedfactor ne doit pas être une valeur négative. Si une des valeurs indiquées n’est pas valable, les définitions du cache sont inchangées.

Les entrées modifiables dans chaque ligne contiennent les champs suivants :

limit
    le nombre maximal d’objets qui seront mis en cache ;

batchcount
    sur les systèmes SMP, c’est le nombre d’objets à transférer à un certain moment lors du rafraichissement de la liste d’objets disponibles ;

sharedfactor
    [À documenter]

Les entrées slabdata dans chaque ligne contiennent les champs suivants :

active_slabs
    le nombre de slabs actifs ;

nums_slabs
    le nombre total de slabs ;

sharedavail
    [À documenter]

Notez qu'en raison de l'alignement des objets et de la surcharge due au cache de slabs, les objets ne sont habituellement pas étroitement accolés dans les pages. Même les pages n'ayant qu'un seul objet en cours d'utilisation sont considérées comme utilisées et ne peuvent pas être libérées.

Les noyaux ayant été compilés avec l'option CONFIG_DEBUG_SLAB auront des champs de statistique supplémentaires dans chaque ligne et la première ligne du fichier contiendra la chaine « statistics ». Le champ statistics inclut : le nombre maximal d’objets actifs, le nombre de fois que les objets ont été alloués, le nombre de fois que le cache a grossi (nouvelles pages ajoutées à ce cache), le nombre de fois que le cache a diminué (pages inutilisées retirées de ce cache) et le nombre de fois qu’une erreur s’est produite lors de l’allocation de nouvelles pages pour ce cache.

VERSIONS
Le fichier /proc/slabinfo est apparu dans Linux 2.1.23. Au cours du temps ce fichier a évolué et ses versions ont des présentations différentes :

1.0 format de la série 2.2.x du noyau Linux ;

1.1 format de la série 2.4.x du noyau Linux ;

1.2 format brièvement présent dans la série 2.5 de développement du noyau Linux ;

2.0 format présent dans les noyaux 2.6.x de Linux jusqu’à la version 2.6.9 incluse ;

2.1 format actuel apparu dans Linux 2.6.10.

NOTES
Seul le superutilisateur peut lire et, si le noyau est configuré avec CONFIG_SLAB, éditer le fichier /proc/slabinfo.

Le montant total de mémoire allouée au cache SLAB/SLUB est affiché dans le champ Slab de /proc/meminfo.

VOIR AUSSI
slabtop(1)

Le fichier des sources du noyau Documentation/vm/slub.txt et tools/vm/slabinfo.c.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.