SystemdDoctor
служба не работает ядро диски зависание

task blocked for more than 120 seconds

Это сообщение означает, что процесс больше двух минут провёл в непрерываемом ожидании — обычно ожидании диска или сетевой файловой системы. Такой процесс нельзя убить даже жёстким сигналом, и остановка службы повисает. Причина почти всегда в подсистеме хранения, а не в самой службе.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Диск или хранилище не отвечают

    Отказывающий носитель или перегруженное хранилище растягивает операции до минут. Процесс висит в ожидании и попадает в это сообщение.

  2. Сетевая файловая система недоступна

    Монтирование без возможности прерывания держит процессы в ожидании неограниченно долго.

  3. Остановка службы повисает из-за зависшего процесса

    systemd ждёт завершения, но процесс в непрерываемом ожидании не реагирует ни на один сигнал. Служба остаётся в состоянии остановки.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Сообщения о зависших процессах.

journalctl -k -b --no-pager | grep -iE "blocked for more than|hung_task" | tail

Процессы в непрерываемом ожидании и где именно они ждут.

ps -eo pid,stat,wchan:24,cmd | awk '$2 ~ /D/'

Сетевые монтирования и их параметры.

findmnt -t nfs4,nfs,cifs -o TARGET,SOURCE,OPTIONS

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Диск или хранилище не отвечают
Почему происходит
Отказывающий носитель или перегруженное хранилище растягивает операции до минут. Процесс висит в ожидании и попадает в это сообщение.
Как проверить
Посмотрите ошибки ввода-вывода и очередь к дискам.
journalctl -k -b --no-pager | grep -iE "I/O error|ata[0-9]|nvme" | tail
iostat -x 2 2 2>/dev/null | tail -12
Как исправить
Разбирайтесь с носителем: замена диска, разгрузка хранилища, проверка пути к нему. До этого служба будет повисать снова.
2. Сетевая файловая система недоступна
Почему происходит
Монтирование без возможности прерывания держит процессы в ожидании неограниченно долго.
Как проверить
Посмотрите сетевые монтирования и параметры.
findmnt -t nfs4,nfs,cifs -o TARGET,SOURCE,OPTIONS
Как исправить
Монтируйте сетевые ресурсы с параметром, допускающим прерывание и таймаут, иначе любая сетевая заминка означает зависшие процессы.
3. Остановка службы повисает из-за зависшего процесса
Почему происходит
systemd ждёт завершения, но процесс в непрерываемом ожидании не реагирует ни на один сигнал. Служба остаётся в состоянии остановки.
Как проверить
Посмотрите состояние процессов службы.
systemctl status myapp.service --no-pager | head -6
ps -o pid,stat,wchan:24,cmd -C myapp 2>/dev/null
Как исправить
Дождаться или снять причину ожидания. Уменьшать таймаут остановки бессмысленно: процесс в таком состоянии не убивается.

Пример вывода

Процесс службы висит в ожидании сетевой файловой системы. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

kernel: INFO: task myapp:1200 blocked for more than 120 seconds.
kernel:       Tainted: G           OE     6.8.0-139-generic
kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kernel: task:myapp          state:D stack:0     pid:1200  ppid:1  flags:0x00000000

Связанные ошибки

Источники

  • Документация ядра: обнаружение зависших задач документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено остановкой сервера сетевой файловой системы при активной записи.
    собственная проверка, systemd 255
    сверено 15 сентября 2026