Ketika melihat batas-batas proses yang berjalan, saya melihat
Max pending signals 15725
- Apa ini?
- Bagaimana saya bisa menentukan nilai yang masuk akal untuk layanan yang sibuk?
Secara umum, sepertinya saya tidak dapat menemukan halaman yang menjelaskan apa batas masing-masing. Beberapa cukup jelas (maks file terbuka), beberapa kurang begitu (ukuran pesan maksimum).
sigpending 31603
. Mengapa batas-batas ini nomor aneh seperti itu (yaitu bukan kekuatan 2)?Jawaban:
Menurut halaman pengguna dari
sigpending
:Jadi, itu berarti sinyal (sigterm, sigkill, sigstop, ...) yang menunggu sampai proses keluar dari keadaan
D
(tidur tidak terputus). Biasanya suatu proses dalam keadaan itu ketika sedang menunggu I / O. Tidur itu tidak bisa diganggu. Bahkan sigkill (kill -9
) tidak dapat dan kernel menunggu sampai proses bangun (sinyal menunggu pengiriman begitu lama).Untuk nilai-nilai tidak jelas lainnya, saya akan lihat di halaman panduan dari
limits.conf
.sumber
sigqueue
dansetrlimit
Anda benar-benar harus melihatnya.Batas proses dikendalikan oleh setrlimit (2)
Jadi, Anda dapat melihat halaman manualnya:
Secara umum, Anda bisa mendapatkan informasi paling detail saat Anda melihat halaman manual syscalls. C adalah bahasa ibu dari UNIX / Linux.
sumber