slabtop
, même avec -o
, se limite toujours à un écran complet de sortie. Il le fait normalement en demandant au terminal quelle est sa taille, mais lorsque sa sortie standard n'est pas un terminal, il suppose que l'écran fait 80 colonnes sur 24 lignes et ne produit que 23 lignes (pour éviter tout défilement).
Cela a depuis été corrigé, et le correctif est présent dans procps-ng
3.3.13 et versions ultérieures.
C'est juste codé en dur pour fonctionner de cette façon lorsque la sortie n'est pas un terminal.
si vous souhaitez toujours utiliser la redirection et obtenir plus de lignes, vous pouvez utiliser script
tromper slabtop
en pensant que sa sortie est imprimée sur le terminal. Vous pouvez ajouter stty
en plus de cela pour modifier les paramètres du pseudo-terminal et définir votre propre limite pour les lignes de sortie.
# slabtop -o | wc -l
23
# script -q -c "slabtop -o" /dev/null | wc -l
46
# script -q -c "stty rows 999; slabtop -o" /dev/null | wc -l
147
Alternativement, vous pouvez simplement obtenir vos informations directement à partir de /proc/slabinfo
fichier, qui est également utilisé par slabtop
lui-même.