Если выделение ресурса от имени приложения превышает лимит ресурсов для этого приложения, то выделение ресурса завершится ошибкой. Если значение «max user process» равно N, и для данного пользователя выполняется N процессов, то вызов системного вызоваfork()
(или связанного с ним )завершится ошибкой. Если значение «open files» равно M, а открытых файлов M, то вызовopen()
(или связанный с ним системный вызов )завершится ошибкой.
Значения не увеличивают производительность системы, поскольку система постоянно отслеживает значения.
Выходные данные, которые вы включаете, не являются истинными ограничениями ресурсов, так как ваша оболочка обманывает и добавляет в этот список множество не связанных между собой вещей.
Если вы хотите увидеть, каковы на самом деле ограничения ресурсов, либо используйте оболочку, которая не использует читы, либо проверьте файл
/usr/include/sys/resource.h
и найдите записи RLIMIT_*
в этом файле.
Что произойдет, если вы достигнете мягкого предела?:
Процессу посылается игнорируемый сигнал. Сигналы:
SIGXCPU SIGXFSZ
При достижении жесткого предела процесс уничтожается.
Обратите внимание, что это относится не ко всем ограничениям. Проверьтеhttp://schillix.sourceforge.net/man/man2/getrlimit.2.htmlдля описания того, что происходит на каждом конкретном пределе.