Co dokładnie oznacza „INFO: zadanie XXX zablokowane na ponad 120 sekund” w systemie Linux?


14

Miałem ten post w moim dzienniku jądra: INFO: task XXX blocked for more than 120 seconds. Chciałbym wiedzieć, co to znaczy technicznie: w jakich warunkach jądro wyświetla ten komunikat o zadaniu?

Dla przypomnienia, moim zablokowanym zadaniem było multipathd, ale interesuje mnie również ogólne znaczenie tego błędu.

Odpowiedzi:


13

Jeśli zadanie jest zablokowane, czeka na ponowne udostępnienie zasobów.

W twoim przypadku prawdopodobnie wystąpił problem IO lub rywalizacja w obszarze dysku. Lub obciążenie systemu było tak duże, że nie było wystarczającej mocy procesora, aby ukończyć zadanie na czas.

Widziałem ten błąd z crona, jeśli próbuje rozpocząć pracę w bardzo pracowitym czasie.


Czy mógłbyś to sprecyzować? Czy „zablokowany” oznacza „nieprzerwanie w nieprzerwanym stanie”?
Totor

@Totor W tym kontekście czeka na zasoby. Więc inne io nie jest przerywane.
Nils,

7

Zasadniczo rejestrowanie jest uruchamiane, jeśli program planujący procesor nie przełączył się na proces w danym czasie, a proces nie kwalifikuje się do wyjątku.

Wyjątkami są specjalne przypadki, w których proces nie został przełączony, ale nie powinien się zalogować. Nie rozumiem jasno warunków wyjątków; FWIW komentarze do spraw w kodzie są następujące:

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

Co do tego, dlaczego zadanie może nie zostać zaplanowane na długi okres czasu, byłoby to ciągle możliwe w TASK_UNINTERRUPTABLE (stan „D”), ale nie wiem, jakie mogą być inne zadania.


Być może istotny błąd: Linux 3.14-3.17 na procesorach Haswell - procesy mogą się zawiesić na futex_wait - groups.google.com/d/msg/mechanical-sympathy/QbmpZxp6C64/…
rakslice
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.