SLABINFO(5)

NOM
/proc/slabinfo - Statistiques sur les données noyaux allouées

SYNOPSIS
cat /proc/slabinfo

DESCRIPTION
Les objets fréquemment utilisés dans le noyaux Linux (têtes de tampon, inœuds, entrées de répertoire...) ont leur propres caches. Le fichier /proc/slabinfo en fournit les statistiques. Par exemple :

$ cat /proc/slabinfo
slabinfo - version: 1.1
kmem_cache            60     78    100    2    2    1
blkdev_requests     5120   5120     96  128  128    1
mnt_cache             20     40     96    1    1    1
inode_cache         7005  14792    480 1598 1849    1
dentry_cache        5469   5880    128  183  196    1
filp                 726    760     96   19   19    1
buffer_head        67131  71240     96 1776 1781    1
vm_area_struct      1204   1652     64   23   28    1
...
size-8192              1     17   8192    1   17    2
size-4096             41     73   4096   41   73    1
...

Il fournit pour chaque cache slab, le nom du cache, le nombre d'objets actuellement actifs, le nombre total d'objets disponibles, la taille de l'objet en octets, le nombre de pages ayant au moins un objet actif, le nombre total de pages allouées, et le nombre de pages par slab. Notez qu'en raison de l'alignement des objets et du surcoût dû au cache slab, les objets ne sont pas accolés dans les pages. Les pages n'ayant même 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 compilés avec l'option des statistiques d'utilisation du cache affichent « (statistics) » sur la première ligne, et proposent cinq colonnes supplémentaires qui sont : la limite supérieure du nombre d'objets actifs, le nombre de fois que les objets ont été alloués, le nombre de fois où le cache a grandi (nouvelles pages ajoutées au cache), le nombre de fois où le cache a été réduit (pages inutilisées retirées), et le nombre d'erreurs d'allocation de nouvelles pages dans ce cache. Si les statistiques de cache slab n'ont pas été activées lors de la compilation du noyau, ces colonnes ne seront pas affichées. Les systèmes SMP ont également « (SMP) » dans la première ligne de sortie, et deux colonnes supplémentaires, indiquant la politique d'allocation pour le cache local de la CPU (pour réduire le besoin de synchronisation entre CPU lors d'allocation d'objet depuis le cache). La première colonne est la limite par propre à chaque CPU : le nombre maximal d'objets mis en cache pour chaque CPU. La seconde colonne est un compte global : le nombre maximum d'objets libres dans le cache global qui seront transférés au cache par CPU s'il est vide, ou le nombre d'objets qui est renvoyé dans le cache global si le cache propre à la CPU est plein. Si les statistiques du cache slab et SMP sont définis simultanément, il y aura quatre colonnes supplémentaires, indiquant les statistiques du cache par CPU. Les deux premières indiquent le nombre de réussites et d'échecs d'allocation dans le cache propre à chaque CPU : le nombre de fois où un objet était ou n'était pas disponible pour allocation depuis le cache par CPU. Les deux suivantes indiquent le nombre de réussites et d'échecs de libération pour le cache propre à chaque CPU : le nombre de fois où un objet libéré a pu ou non rester dans les limites du cache propre à chaque CPU, avant de renvoyer les objets vers le cache global. Il est possible d'ajuster les limites du cache slab propre à chaque CPU et du nombre global de transferts avec :
echo "nom_cache limite nombre_global" > /proc/slabinfo

FICHIERS
<linux/slab.h>

VERSIONS
/proc/slabinfo existe depuis Linux 2.1.23. Les caches SMP propre à chaque CPU existent depuis Linux 2.4.0-test3.

NOTES
Depuis Linux 2.6.16, le fichier /proc/slabinfo n'est présent que si l'option CONFIG_SLAB de configuration du noyau est activée.

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 25 juillet 2003 et révisée le 4 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 5 slabinfo ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.