Що саме означає "INFO: завдання XXX заблоковано більше 120 секунд" саме на Linux?


14

Я мав це повідомлення у моєму журналі ядра: INFO: task XXX blocked for more than 120 seconds. Мені хотілося б знати, що це технічно означає: за яких умов ядро ​​відображає це повідомлення про завдання?

Для запису моє заблоковане завдання було multipathd, але мене також цікавить загальний сенс цієї помилки.

Відповіді:


13

Якщо завдання заблоковано, воно чекає, коли ресурси знову стануть доступними.

У вашому випадку, можливо, була або проблема вводу-виводу, або суперечка в області диска. Або завантаженість вашої системи була настільки високою, що не було достатньої потужності процесора, щоб закінчити роботу вчасно.

Я бачив цю помилку з cron, якщо вона намагається розпочати роботу в дуже напружений час.


Чи можете ви бути більш конкретними? Чи означає "заблокований" означає "постійно в безперебійному стані"?
Тотор

@Totor У цьому контексті він чекає ресурсів. Тож інші іо не перериваються.
Нілс

7

В основному цей журнал спрацьовує, якщо планувальник процесора не перейшов до процесу за вказаний проміжок часу і процес не кваліфікується як виняток.

Виняток становлять особливі випадки, коли процес не було переключено, але він не повинен входити в нього. Я чітко не розумію умови винятків; FWIW коментарі до справ у коді:

Also, skip vfork and any other user process that freezer should skip.

Also, when a freshly created task is scheduled once, changes
its state to TASK_UNINTERRUPTIBLE without having ever been
switched out once, it musn't be checked.

http://lxr.free-electrons.com/source/kernel/hung_task.c#L75

Щодо того, чому завдання не може бути заплановане на тривалий період часу, воно постійно перебуває в TASK_UNINTERRUPTABLE (стан "D") - це одна можливість, але я не знаю, що там може бути.


Можливо, відповідна помилка: Linux 3.14-3.17 на процесорах Haswell - процеси можуть зависнути на futex_wait - groups.google.com/d/msg/mechanical-sympathy/QbmpZxp6C64/…
rakslice
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.