ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Linux работает над счётчиком для отслеживания количества зависших задач с момента загрузки

Linux работает над счётчиком для отслеживания количества зависших задач с момента загрузки

На прошлой неделе было отправлено первоначальное исправление, которое уже было доработано до второй версии в это воскресенье. В настоящее время рассматривается новое предложение по введению «hung_task_detect_count» в качестве удобного средства отслеживания количества обнаружений зависших задач с момента загрузки.

С помощью /proc/sys/kernel/hung_task_warnings уже можно считывать количество предупреждений о зависших задачах и тому подобное. С помощью набора из двух патчей, которые сейчас находятся на рассмотрении, /proc/sys/kernel/hung_task_detect_count будет добавлен для отображения общего количества зависших задач, обнаруженных с момента загрузки.

Лэнс Янг, разославший исправления, предлагающие счётчик «hung_task_detect_count», объяснил в сопроводительном письме к исправлению:

«Этот набор исправлений добавляет счетчик hung_task_detect_count для отслеживания количества обнаруженных зависших задач.

IHMO, зависшие задачи являются критически важным показателем. В настоящее время мы обнаруживаем их, периодически анализируя dmesg. Однако этот метод не так удобен для пользователя, как использование счётчика.

Иногда кратковременная проблема с сетевой картой или жестким диском может быстро свести предупреждения hung_task_ к нулю. Без предупреждений мы должны напрямую обращаться к узлу, чтобы убедиться, что зависших задач больше нет и что система восстановилась. В конце концов, только средняя загрузка не может дать четкой картины.

Как только этот счетчик будет установлен, в шаблоне развертывания с высокой плотностью мы планируем установить для hung_task_timeout_secs меньшее число для повышения стабильности, даже если это может привести к ложным срабатываниям. И затем мы можем установить пороговое значение, основанное на времени: если зависшие задачи длятся дольше этого срока, мы автоматически перенесем контейнеры на другие узлы. Исходя из прошлого опыта, этот подход может помочь избежать многих сбоев в производстве.

Более того, как и в случае с другими важными событиями, такими как OOM, для которых уже есть счётчики, имеет смысл иметь отдельный счётчик для зависших задач 😉

 

Добавление этой функции в ядро Linux для счётчика зависших задач — это всего 18 строк нового кода, которые находятся на рассмотрении в списке рассылки ядра Linux. Учитывая их небольшой размер и то, что они не должны вызывать особых споров, мы надеемся, что они скоро появятся в одном из основных выпусков ядра.

Exit mobile version