Apa arti "INFO: tugas XXX yang diblokir selama lebih dari 120 detik" di Linux?


14

Aku punya pesan ini di log kernel saya: INFO: task XXX blocked for more than 120 seconds. Saya ingin tahu apa artinya secara teknis: di bawah kondisi apa kernel menampilkan pesan ini tentang sebuah tugas?

Sebagai catatan, tugas saya yang diblokir adalah multipathd, tetapi saya juga tertarik pada arti umum dari kesalahan ini.

Jawaban:


13

Jika tugas diblokir, ia menunggu sumber daya tersedia lagi.

Dalam kasus Anda ada kemungkinan masalah IO atau pertengkaran di area disk. Atau beban sistem Anda sangat tinggi sehingga tidak ada cukup daya CPU yang tersedia untuk menyelesaikan pekerjaan tepat waktu.

Saya telah melihat kesalahan ini dari cron, jika mencoba memulai pekerjaan dalam waktu yang sangat sibuk.


Bisakah Anda lebih spesifik? Apakah "diblokir" berarti "terus menerus dalam keadaan tidak terputus"?
Totor

@ Motor Dalam konteks ini menunggu sumber daya. Jadi io lain tidak bisa diganggu.
Nils

7

Pada dasarnya pencatatan ini dipicu jika penjadwal CPU belum beralih ke proses dalam jumlah waktu tertentu, dan proses tersebut tidak memenuhi syarat untuk pengecualian.

Pengecualian adalah kasus khusus di mana suatu proses belum beralih ke tetapi tidak harus login tentang. Saya tidak mengerti dengan jelas kondisi untuk pengecualian; FWIW komentar pada kasus-kasus dalam kode adalah:

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

Mengenai mengapa tugas mungkin tidak dijadwalkan untuk jangka waktu yang lama, tugas itu terus menerus dalam TASK_UNINTERRUPTABLE (status 'D') akan menjadi satu kemungkinan, tetapi saya tidak tahu apa yang mungkin ada orang lain.


Mungkin bug yang relevan: Linux 3.14-3.17 pada prosesor Haswell - proses dapat menunggu futex_wait - groups.google.com/d/msg/mechanical-sympathy/QbmpZxp6C64/…
rakslice
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.