Oracle анонсировала новый проект для улучшения отладки ядра Linux под названием Oracle Linux Enhanced Diagnostics
Компания Oracle представила новый проект под названием Oracle Linux Enhanced Diagnostics (OLED). OLED представляет собой набор инструментов, разработанных внутри компании Oracle, изначально предназначенных для Oracle Linux, с целью улучшения процесса отладки, особенно в облачных средах.
Среди самых важных инструментов, включённых в OLED:
захват стека ядра для процессов в непрерываемом состоянии (D) с помощью kstack, что помогает отслеживать зависания системы и выявлять проблемы с производительностью;
утилита для мониторинга использования памяти и выявления ошибок роста памяти — oled memstate, которая находит утечки и фрагментацию;
набор скриптов dtrace, написанных для решения конкретных проблем, которые могут быть полезны и в других системах, работающих на Oracle Linux.
По словам компании Oracle, все инструменты и скрипты, включённые в OLED, были разработаны внутри компании, исходя из реальных проблем, которые специалистам Oracle приходилось отлаживать, анализировать и решать для своих клиентов. Например, компания столкнулась с ситуациями, когда множество процессов долгое время находились в непрерываемом состоянии, что приводило к увеличению средней загрузки системы и вызывало тайм‑ауты устройств или программные зависания. Oracle разработала инструмент kstack для захвата трассировок стека ядра процессов в этом состоянии.
Кроме того, специалисты компании сталкивались с проблемами утечек памяти, когда вся доступная память в системе медленно расходуется в течение недель или месяцев, что приводило к срабатыванию OOM‑убийцы или к краху системы. Для решения таких проблем был написан oled memstate, который позволяет отслеживать, какая категория памяти растёт и насколько быстро.
Инструменты написаны на Python и C, а разработчики Oracle
Читать на habr.com