ulimit - установка или получение лимитов использования ресурсов
Синтаксис
ulimit [OPTIONS] [LIMIT]
Описание
ulimit устанавливает или выводит лимиты использования ресурсов оболочки и любых процессов, запущенных ею. Если новое значение лимита опущено, выводится текущее значение лимита ресурса; в противном случае указанный лимит устанавливается на новое значение.
Используйте один из следующих переключателей, чтобы указать, какой лимит ресурса нужно установить или получить:
- -c или --core-size
-
Максимальный размер создаваемых файлов ядра. Установив этот лимит в ноль, можно отключить дампы ядра.
- -d или --data-size
-
Максимальный размер сегмента данных процесса.
- -f или --file-size
-
Максимальный размер файлов, созданных оболочкой.
- -l или --lock-size
-
Максимальный размер, который может быть заблокирован в памяти.
- -m или --resident-set-size
-
Максимальный размер постоянного набора.
- -n или --file-descriptor-count
-
Максимальное количество открытых дескрипторов файлов (большинство систем не позволяют устанавливать это значение).
- -s или --stack-size
-
Максимальный размер стека.
- -t или --cpu-time
-
Максимальное время использования ЦП в секундах.
- -u или --process-count
-
Максимальное количество процессов, доступных одному пользователю.
- -v или --virtual-memory-size
-
Максимальный объем виртуальной памяти, доступный оболочке.
Обратите внимание, что не все эти лимиты доступны во всех операционных системах.
Значение лимита может быть числом в единицах, указанных для ресурса, или одним из специальных значений hard, soft, или unlimited, которые обозначают текущий жесткий лимит, текущий мягкий лимит и отсутствие лимита соответственно.
Если лимит задан, это новое значение указанного ресурса. Если ни один параметр не задан, то предполагается -f. Значения указаны в килобайтах, за исключением -t, которое указано в секундах, и -n и -u, которые являются безразмерными.
Код возврата — 0, если не указан недопустимый параметр или аргумент, или произошла ошибка при установке нового лимита.
ulimit также принимает следующие переключатели, которые определяют тип устанавливаемого лимита:
- -H или --hard
-
Устанавливает жесткий лимит ресурса.
- -S или --soft
-
Устанавливает мягкий лимит ресурса.
Жесткий лимит можно только уменьшить. После установки его нельзя увеличить; мягкий лимит может быть увеличен до значения жесткого лимита. Если ни -H, ни -S не указаны, и мягкие, и жесткие лимиты обновляются при назначении нового значения лимита, а мягкий лимит используется при получении текущего значения.
Следующие дополнительные параметры также понятны ulimit:
- -a или --all
-
Выводит все текущие лимиты.
- -h или --help
-
Выводит справку по использованию этой команды.
Реализация fish ulimit должна вести себя идентично реализации в bash, за исключением этих различий:
- Fish
ulimitподдерживает GNU-стили длинных опций для всех переключателей. - Fish
ulimitне поддерживает параметр -p для получения размера канала. Реализация bash состоит из проверки времени компиляции, которая эмпирически оценивает это число, записывая в канал и ожидая SIGPIPE. Fish не делает этого, поскольку этот метод определения размера канала ненадежен. В зависимости от версии bash, также могут быть дополнительные лимиты для установки в bash, которых нет в fish. - Fish
ulimitне поддерживает получение или установку нескольких лимитов в одной команде, за исключением отображения всех значений с помощью параметра -a.
Пример
ulimit -Hs 64 устанавливает жесткий лимит размера стека в 64 КБ.
© 2022 fish-shell developers
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.4/cmds/ulimit.html