Bekleyen sinyaller nelerdir?


9

Çalışan bir sürecin sınırlarına baktığımda

Max pending signals       15725
  • Bu nedir?
  • Meşgul bir hizmet için mantıklı bir değeri nasıl belirleyebilirim?

Genel olarak, her bir sınırın ne olduğunu açıklayan bir sayfa bulamıyorum. Bazıları oldukça açıklayıcıdır (maksimum açık dosyalar), bazıları daha azdır (maksimum msgqueue boyutu).


Neredeyse güncel bir Arch linux, çekirdek 3.14.37-1-lts, zsh, anladım sigpending 31603. Bu sınırlar neden bu kadar garip rakamlar (yani 2'nin gücü değil)?
Bruce Ediger

Yanıtlar:


6

Göre manuel sayfanın ait sigpending:

sigpending (), çağıran evreye teslim edilmek üzere bekleyen sinyal kümesini (yani, bloke edilirken yükseltilmiş olan sinyalleri) döndürür.

Yani, süreç D(kesintisiz uyku) durumundan çıkana kadar bekleyen sinyaller (sigterm, sigkill, sigstop, ...) kastedilmektedir . Genellikle bir süreç G / Ç'yi beklerken bu durumdadır. Bu uyku durdurulamaz. Sigkill ( kill -9) bile yapamaz ve işlem uyanana kadar çekirdek bekler (sinyal bu kadar uzun süre teslim edilmeyi beklemektedir).

Diğer belirsiz değerler için ben de bir göz alacağını manuel sayfanın içinde limits.conf.


Bu kılavuz sayfalarıdır sigqueueve setrlimitgerçekten bakmanız gerekir.
JdeBP

0

Proses limitleri setrlimit tarafından kontrol edilir (2)

Böylece onun man sayfasına bakabilirsiniz:

RLIMIT_SIGPENDING (Linux 2.6.8'den beri)

Çağıran işlemin gerçek kullanıcı kimliği için kuyruğa alınabilecek sinyal sayısı sınırını belirtir. Bu limiti kontrol etmek için hem standart hem de gerçek zamanlı sinyaller sayılır. Bununla birlikte, sınır yalnızca sigqueue (3) için uygulanır; işlem için sıraya alınmamış sinyallerin bir örneğini sıraya koymak için kill (2) kullanmak her zaman mümkündür.

Genellikle, sistem çağrılarının sayfalarına baktığınızda en ayrıntılı bilgileri alabilirsiniz. C, UNIX / Linux'un ana dilidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.