Назад | Перейти на главную страницу

Проверить содержимое SLAB

Есть ли способ, желательно простой, как проверить содержимое кешей SLAB, особенно Дентри кеш? Я могу представить, что это можно сделать с помощью модулей ядра, но я очень сомневаюсь, что безопасность позволит мне установить специальный модуль ядра в производственную систему.

Я на 99% уверен, что мы затронуты утечкой NSS dentry, но хочу видеть кешированные записи, чтобы быть уверенным на 100%.

rhel, 2.6.32 nss-softokn-3.14.3-23.3.0.1.el6_8.x86_64

Спасибо!

Server Fault уже упоминал об этом раньше: Необычно высокое использование кэша Dentry что привело к Ошибка RHEL 1044666, могут ли запросы curl HTTPS делать меньше системных вызовов доступа?

Просмотр содержимого кеша не требуется. Судя по отчету об ошибке, это немалое количество объектов в кеше, они получили миллионы их всего за несколько выполнений curl. Кроме того, вы можете увидеть, как он обращается к файлам, отслеживая процессы с помощью NSS, просматривая вызовы access (). Должен быть большой доступ к несуществующим файлам.

Установить переменную среды NSS_SDB_USE_CACHE и повторить тест. Эта переменная env должна быть установлена ​​на «да» или «нет», очевидно, чтобы обойти тесты скорости файловой системы. Избыточный доступ к несуществующим файлам должен прекратиться, а потребление плиты стабилизироваться.


В общем, плита не должна расти бесконечно.

Следите за этим с течением времени. Например, netdata по умолчанию собирает slab. (Тем не менее, экспортируйте его в базу данных временных рядов с большим сроком хранения, чтобы увидеть тенденции за дни и недели.)