LinuxDoc.ru - Новости Linux - ktap система динамической трассировки для ядра Linux

ktap система динамической трассировки для ядра Linux

LinuxDoc.Ru,
Представлен первый выпуск проекта ktap, в рамках которого развивается новая система динамической трассировки работы ядра Linux, предоставляющая собственный скриптовый язык для создания сценариев. Сценарии могут быть использованы как для автоматизации выявления узких мест, так и для изменения параметров работы ядра. При этом возможности не ограничиваются мелким тюнингом, скрипты ktap могут использоваться для изменения поведения систем ядра и даже для реализации дополнительной функциональности.



От существующих систем, таких как SystemTap и DTrace, ktap отличается иной архитектурой и другими принципами организации выполнения скриптов трассировки. Скрипты преобразуются в байткод, загружаемый и выполняемый уже работающим центральным модулем ktap, что не требует сборки и загрузки отдельных модулей ядра из расчёта отдельный модуль для каждого из сценариев трассировки. Байткод выполняется внутри специальной регистровой виртуальной машины ktapvm (подобный подход близок к DTrace и отличается от SystemTap, в котором используется транслятор). Байткод является универсальным и может быть использован без пересборки в ядрах на системах с различной архитектурой, т.е. скрипт может быть собран и проверен на ПК разработчика и потом выполнен на встраиваемом устройстве на базе другой процессорной архитектуры.

Синтаксис языка сценариев напоминает язык Си и отличается в основном методом объявления переменных (в ktap используются динамические переменные, без явного объявления), поддержкой вместо массивов табличных структур (хэши ключ/значение, позволяющие указывать t["key"] = 10), отсутствием необходимости завершения строки знаком ';'. Замедление работы ядра при активации ktap не превышает 10%, после интеграции JIT в виртуальную машину ktapvm паразитную нагрузку планируется свести к 3-5%.




Первый выпуск ktap пока доступен только для 32- и 64-разрядных систем x86. Среди поддерживаемых возможностей отмечается поддержка установки точек трассировки (tracepoints), анализ работы системных вызовов, использование контрольных проверок kprobes и kretprobes, отслеживание вызова обработчиков событий от таймера, оценка состояния стека. Для использования в скриптах поставляется встроенная библиотека функций для упрощения работы с различными низкоуровневыми механизмами трассировки.

Код проекта распространяется под лицензией GPL и оформлен в виде модуля для ядра Linux. Система может использоваться с ядрами начиная с версии 3.4 (ядро должно быть собрано с опциями CONFIG_EVENT_TRACING, CONFIG_PERF_EVENTS, CONFIG_KPROBES и CONFIG_KALLSYMS) и не требует применения дополнительный патчей для кода ядра.


Пример простой функции трассировки системных вызовов:

function eventfun (e) {
printf("%d %dt%st%s", cpu(), pid(), execname(), e.tostring())
}
kdebug.probe("tp:syscalls", eventfun)

kdebug.probe_end(function () {
printf("probe endn")
})
linux

Новости Linux

. ktap система динамической трассировки для ядра Linux ktap система динамической трассировки для ядра Linux
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>>

Tails — операционная система, которую можно запустить практически на любом компьютере с USB-накопителя или DVD-диска. Она направлена на сохранение вашей конфиденциальности и анонимности и помогает вам в этом.


Это экстренный релиз исправляющий критические уязвимости в Tor Browser.


Обновления




  • Обновлен Tor Browser до 9.0.4.
    Исправлена критическая уязвимость в JIT-компиляторе
    javascript Firefox и Tor Browser.


    Mozilla знает о направленных атаках, которые злоупотребляют этой уязвимости.


    Эта уязвимость влияет только на стандартный уровень безопасности Tor Browser. Более безопасный и Наиболее безопасный уровни безопасности не подвержены этой уязвимости.




Исправления



  • Исправлена 2-минутная задержка, во время перезапуска после автоматического обновления. (#17026)

>>>

«Российские железные дороги» разместили соответствующий тендер на портале госзакупок. На данный момент это крупнейшая поставка компьютеров на базе отечественного процессора. Максимальная стоимость контракта — 1 миллиард рублей.


В каждый комплект вычислительного комплекса войдет системный блок, монитор (с минимальной диагональю 23.8’), мышь и клавиатура.


В требованиях контракта также указаны минимальные характеристики процессора: архитектура «Эльбрус», 800МГц тактовой частоты и встроенный 3D-ускоритель. Речь, скорее всего, идет об одноядерном процессоре «Эльбрус 1С+», выпущенным компанией МЦСТ в 2016-м году. На компьютере должна быть установлена ОС на базе Linux, включенная в реестр отечественного ПО при Минкомсвязи.


Подробности









 russia, мцст, ржд, россия, эльбрус

>>>

Минкомсвязи утвердило требования к операторам связи и интернет-сервисам, выполняющим функции DNS. Такие сервисы должны будут в течение года хранить информацию о пользователях и обеспечивать время отклика не более 100 мс. Минэкономразвития предупреждает, что данные требования приведут к затратам на десятки миллиардов.

>>> Доступно шестое корректирующее обновление дистрибутива Debian 9, в которое включены накопившиеся обновления пакетов и устранены недоработки в инсталляторе. Выпуск включает 88 обновлений с устранением проблем со стабильностью и 92 обновления с устранением уязвимостей.


Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.