Cosa significa esattamente "INFO: task XXX bloccato per più di 120 secondi" su Linux?


14

Ho avuto questo messaggio nel mio log del kernel: INFO: task XXX blocked for more than 120 seconds. Vorrei sapere cosa significa tecnicamente: a quali condizioni il kernel visualizza questo messaggio su un'attività?

Per la cronaca, il mio compito bloccato era multipathd, ma sono anche interessato al significato generale di questo errore.

Risposte:


13

Se un'attività viene bloccata, attende che le risorse diventino di nuovo disponibili.

Nel tuo caso c'era probabilmente un problema di I / O o una contesa nell'area del disco. Oppure il tuo carico di sistema era così elevato che non c'era abbastanza potenza CPU disponibile per completare il lavoro in tempo.

Ho visto questo errore da cron, se tenta di iniziare un lavoro in un tempo molto intenso.


Può essere più preciso? "Bloccato" significa "continuamente in uno stato ininterrotto"?
Totor

@Totor In questo contesto è in attesa di risorse. Quindi l'altro io non è interrompibile.
Nils,

7

Fondamentalmente questa registrazione viene attivata se lo scheduler della CPU non è passato al processo in un determinato periodo di tempo e il processo non è idoneo per un'eccezione.

Le eccezioni sono casi speciali in cui un processo non è stato commutato ma non dovrebbe essere registrato. Non capisco chiaramente le condizioni per le eccezioni; FWIW i commenti sui casi nel codice sono:

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

Quanto al motivo per cui un'attività potrebbe non essere programmata per un lungo periodo di tempo, essendo continuamente nello stato TASK_UNINTERRUPTABLE (stato 'D') sarebbe una possibilità, ma non so quali altri potrebbero esserci.


Forse un bug rilevante: Linux 3.14-3.17 sui processori Haswell - i processi possono bloccarsi su futex_wait - groups.google.com/d/msg/mechanical-sympathy/QbmpZxp6C64/…
rakslice
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.