Каковы различные кэши, о которых сообщает slabtop?

Кто-нибудь знает, где я могу получить описание различных объектов ядра, чьи кэши памяти сообщаются slabtop в Linux? Например, что такое filp , radix_tree_node и т. Д.?

Фон

slabtop представленные в slabtop , трудно определить количественно для определенного модуля ядра, потому что они объединяются в единичные типы, которые перекрываются в зависимости от их сходства с другими в терминах объектов, которые они содержат.

выдержка – Как / proc / slabinfo не совсем говорит, как это выглядит

В частности, в современном Linux имена, показанные в slabinfo, в основном подсказка, потому что текущий распределитель slab в ядре объединяет несколько типов slab вместе, если они достаточно похожи. Если все пять разных подсистем хотят выделить (разные) 128-байтовые объекты без специальных свойств, они не получат отдельные типы slab с отдельными записями slabinfo; вместо этого все они объединяются в один тип плиты и, таким образом, одну запись slabinfo. Эта запись slabinfo обычно показывает имя одного из них, вероятно, первое, которое будет установлено, без прямого намека на то, что оно также включает использование всех остальных.

(Остальные вообще не появляются в slabinfo.)

В этой статье обсуждается, что из-за описанного выше слияния часто бывают типы /proc/slabinfo которые вообще не отображаются в /proc/slabinfo . Вы можете увидеть некоторые из этих эффектов, посмотрев здесь: /sys/kernel/slab . Этот каталог показывает, какие кэши slab объединяются с другими в форме символических ссылок.

ss1 s2

На изображении слева показаны ссылки (светло-голубые) из каталога /sys/kernel/slab которые объединяются с другими плитами. На изображении справа показаны все кэши, которые объединяются в :t-0000256 slab.

Слежения за плитами

Если мы продолжим просматривать каталог /sys/kernel/slab :

 $ ls -l /sys/kernel/slab/ | grep filp lrwxrwxrwx 1 root root 0 Aug 5 21:23 filp -> :t-0000256 

Вот тот filp о filp вы спрашивали. Чтобы узнать об этом больше, вы можете попробовать установить slabinfo командной строки slabinfo .

  • Краткое руководство пользователя для SLUB
  • Linux / VM / slabinfo.c

slabinfo

У меня не было этого CLI для дальнейшей сортировки на CentOS 7.x, но вы можете исследовать его. Компиляция этого CLI дает вам доступ к slabinfo -a который показывает псевдонимы, которые связывают плиты с slabinfo -a /sys/kernel/slab . Я считаю, что именно этот псевдоним, который вы ищете, поможет slabtop какие слябы есть, какие на slabtop .

ссылка: Распределители плит в ядре Linux: SLAB, SLOB, SLUB

ss3

Рекомендации

  • Как / proc / slabinfo не совсем говорит, как это выглядит
  • Распределитель SLUB
  • Обзор концепций управления памятью в Linux: плиты
  • Глава 8 Распределитель плит
  • Распределители слябов в ядре Linux: SLAB, SLOB, SLUB
  • slabinfo.c
  • Краткое руководство пользователя для SLUB