Глядя на пределы запущенного процесса, я вижу
Max pending signals 15725
- Что это?
- Как я могу определить разумную ценность для занятого обслуживания?
Как правило, я не могу найти страницу, которая объясняет, что такое каждый лимит. Некоторые из них довольно понятны (максимальное количество открытых файлов), другие - меньше (максимальный размер сообщения).
sigpending 31603
. Почему эти ограничения такие странные числа (то есть не степень 2)?Ответы:
Согласно справочной странице по
sigpending
:Таким образом, подразумеваются сигналы (sigterm, sigkill, sigstop, ...), которые ожидают, пока процесс не выйдет из состояния
D
(непрерывного сна). Обычно процесс находится в том состоянии, когда он ожидает ввода / вывода. Этот сон не может быть прерван. Даже sigkill (kill -9
) не может, и ядро ждет, пока процесс не проснется (сигнал ожидает доставки так долго).Для других неясных значений, я хотел бы взглянуть на страницах руководства по
limits.conf
.источник
sigqueue
иsetrlimit
что вы действительно должны смотреть.Пределы процесса контролируются с помощью setrlimit (2)
Так что вы можете заглянуть в его справочную страницу:
Как правило, вы можете получить наиболее подробную информацию, когда заглядываете в man-страницы системных вызовов. C является родным языком UNIX / Linux.
источник