Tín hiệu đang chờ xử lý là gì?


9

Khi nhìn vào giới hạn của một quy trình đang chạy, tôi thấy

Max pending signals       15725
  • Cái này là cái gì?
  • Làm cách nào để xác định giá trị hợp lý cho dịch vụ bận rộn?

Nói chung, tôi dường như không thể tìm thấy một trang giải thích mỗi giới hạn là gì. Một số khá tự giải thích (tệp mở tối đa), một số ít hơn (kích thước thông điệp tối đa).


Trên một Arch linux gần như cập nhật, kernel 3.14.37-1-lts, zsh, tôi nhận được sigpending 31603. Tại sao những giới hạn này lại là những con số kỳ lạ như vậy (tức là không phải là lũy thừa 2)?
Bruce Ediger

Câu trả lời:


6

Theo trang hướng dẫn của sigpending:

sigpending () trả về tập hợp các tín hiệu đang chờ xử lý để phân phối đến chuỗi cuộc gọi (nghĩa là các tín hiệu đã được nâng lên trong khi bị chặn).

Vì vậy, nó có nghĩa là các tín hiệu (sigterm, sigkill, sigstop, ...) đang chờ cho đến khi quá trình thoát khỏi Dtrạng thái (giấc ngủ không bị gián đoạn). Thông thường một quá trình ở trạng thái đó khi nó đang chờ I / O. Giấc ngủ đó không thể bị gián đoạn. Ngay cả sigkill ( kill -9) cũng không thể và kernel đợi cho đến khi quá trình thức dậy (tín hiệu đang chờ xử lý để phân phối quá lâu).

Đối với các giá trị không rõ ràng khác, tôi sẽ xem trong trang hướng dẫn của limits.conf.


Đó là các trang hướng dẫn sigqueuesetrlimitbạn thực sự nên xem.
JdeBP

0

Giới hạn quy trình được kiểm soát bởi setrlimit (2)

Vì vậy, bạn có thể nhìn vào trang chủ của nó:

RLIMIT_SIGPENDING (Kể từ Linux 2.6.8)

Chỉ định giới hạn về số lượng tín hiệu có thể được xếp hàng cho ID người dùng thực của quá trình gọi. Cả tín hiệu tiêu chuẩn và thời gian thực đều được tính cho mục đích kiểm tra giới hạn này. Tuy nhiên, giới hạn chỉ được thi hành cho sigqueue (3); luôn luôn có thể sử dụng kill (2) để xếp hàng một thể hiện của bất kỳ tín hiệu nào chưa được xếp hàng vào quy trình.

Nói chung, bạn có thể nhận được thông tin chi tiết nhất khi bạn xem xét các trang web của tòa nhà chọc trời. C là tiếng mẹ đẻ của UNIX / Linux.

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.