
Каково распределение памяти по умолчанию для процесса оболочки в Linux? Я имею в виду, существует ли верхний предел для процесса оболочки или любого другого процесса?
решение1
От man bashbuiltins
:
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
Обеспечивает контроль над ресурсами, доступными оболочке и запускаемым ею процессам, в системах, которые допускают такой контроль.
Используйте ulimit -a
для отображения текущих ограничений.
решение2
Ограничения ресурсов обычно контролируются ulimit
(на основе пользователя) или sysctl
(на основе системы).
Например, kernel.shmmax
параметр, заданный параметром, sysctl
определяет максимальный размер в байтах одного сегмента общей памяти, который процесс Linux может выделить в своем виртуальном адресном пространстве.
ulimit
используется для установки ограничений обычных пользовательских процессов. Эти значения обычно настраиваются /etc/security/limits.conf
как значения по умолчанию, но могут быть изменены для каждого пользователя/сеанса. Они имеют как жесткие, так и мягкие ограничения.