Chuyện INFO: nhiệm vụ XXX bị chặn trong hơn 120 giây chính xác có nghĩa là gì trên Linux?


14

Tôi đã có thông báo này trong nhật ký kernel : INFO: task XXX blocked for more than 120 seconds. Tôi muốn biết ý nghĩa của nó về mặt kỹ thuật: trong điều kiện nào thì kernel hiển thị thông báo này về một tác vụ?

Đối với hồ sơ, nhiệm vụ bị chặn của tôi là multipathd, nhưng tôi cũng quan tâm đến ý nghĩa chung của lỗi này.

Câu trả lời:


13

Nếu một tác vụ bị chặn, nó chờ tài nguyên trở lại khả dụng.

Trong trường hợp của bạn, có thể xảy ra sự cố IO hoặc sự tranh chấp trong khu vực đĩa. Hoặc tải hệ thống của bạn quá cao đến nỗi không có đủ năng lượng CPU để hoàn thành công việc kịp thời.

Tôi đã thấy lỗi này từ cron, nếu nó cố gắng bắt đầu một công việc trong một thời gian rất bận rộn.


Bạn có thể cụ thể hơn không? "Bị chặn" có nghĩa là "liên tục trong trạng thái không bị gián đoạn"?
Totor

@Totor Trong bối cảnh này, nó đang chờ tài nguyên. Vì vậy, io khác không bị gián đoạn.
Nils

7

Về cơ bản việc ghi nhật ký này được kích hoạt nếu bộ lập lịch CPU chưa chuyển sang quy trình trong một khoảng thời gian nhất định và quy trình không đủ điều kiện cho một ngoại lệ.

Các trường hợp ngoại lệ là những trường hợp đặc biệt trong đó một quy trình chưa được chuyển sang nhưng nó không nên được ghi lại. Tôi không hiểu rõ các điều kiện cho các ngoại lệ; FWIW các ý kiến ​​về các trường hợp trong mã là:

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

Về lý do tại sao một nhiệm vụ có thể không được lên lịch trong một thời gian dài, nó liên tục ở TASK_UNINTERRUPTABLE (trạng thái 'D') sẽ là một khả năng, nhưng tôi không biết những gì người khác có thể có.


Có lẽ một lỗi có liên quan: Linux 3.14-3.17 trên bộ xử lý Haswell - các quy trình có thể bị treo trên futex_wait - Groups.google.com/d/msg/m cơ
sympathy / QbmpZxp6C64 / sắt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.