Widzę, kiedy patrzę na granice uruchomionego procesu
Max pending signals 15725
- Co to jest?
- Jak ustalić rozsądną wartość dla zajętej usługi?
Zasadniczo nie mogę znaleźć strony, która wyjaśnia, jaki jest każdy limit. Niektóre są dość zrozumiałe (maks. Liczba otwartych plików), niektóre mniej (maksymalny rozmiar msgqueue).
sigpending 31603
. Dlaczego te limity są tak dziwnymi liczbami (tj. Nie potęgą 2)?Odpowiedzi:
Według strony podręcznika z
sigpending
:Oznacza to sygnały (sigterm, sigkill, sigstop, ...), które czekają, aż proces wyjdzie ze stanu
D
(nieprzerwanego snu). Zwykle proces jest w tym stanie, gdy czeka na operacje we / wy. Ten sen nie może być przerwany. Nawet sigkill (kill -9
) nie może i jądro czeka, aż proces się obudzi (sygnał czeka na dostarczenie tak długo).Dla innych wartości niejasnych, chciałbym spojrzeć na stronie podręcznika z
limits.conf
.źródło
sigqueue
isetrlimit
że naprawdę należy przyjrzeć.Ograniczenia procesu są kontrolowane przez setrlimit (2)
Możesz więc zajrzeć na jego stronę:
Zasadniczo najbardziej szczegółowe informacje można uzyskać, przeglądając strony podręczników systemowych. C jest językiem ojczystym UNIX / Linux.
źródło