ulimit - установка или получение ограничений на использование ресурсов
Синтаксис
ulimit [OPTIONS] [LIMIT]
Описание
ulimit устанавливает или выводит ограничения на использование ресурсов оболочки и любых процессов, запущенных ею. Если новое значение предела не указано, выводится текущее значение предела ресурса; в противном случае заданное ограничение устанавливается в новое значение.
Используйте один из следующих переключателей для указания ограничения ресурса, которое необходимо установить или получить:
- -b или --socket-buffers
-
Максимальный размер буферов сокетов.
- -c или --core-size
-
Максимальный размер файлов core, создаваемых. Установив это ограничение в ноль, можно отключить создание core дампов.
- -d или --data-size
-
Максимальный размер сегмента данных процесса.
- -e или --nice
-
Управляет максимальным значением nice; в Linux это значение вычитается из 20, чтобы получить эффективное значение.
- -f или --file-size
-
Максимальный размер файлов, создаваемых процессом.
- -i или --pending-signals
-
Максимальное количество сигналов, которые могут быть поставлены в очередь.
- -l или --lock-size
-
Максимальный размер, который может быть заблокирован в памяти.
- -m или --resident-set-size
-
Максимальный размер резидентного набора.
- -n или --file-descriptor-count
-
Максимальное количество открытых дескрипторов файлов.
- -q или --queue-size
-
Максимальный размер данных в очередях POSIX сообщений.
- -r или --realtime-priority
-
Максимальный приоритет планирования в реальном времени.
- -s или --stack-size
-
Максимальный размер стека.
- -t или --cpu-time
-
Максимальное время использования процессора в секундах.
- -u или --process-count
-
Максимальное количество процессов, доступных текущему пользователю.
- -w или --swap-size
-
Максимальный размер подкачки, доступный текущему пользователю.
- -v или --virtual-memory-size
-
Максимальный объем виртуальной памяти, доступный оболочке.
- -y или --realtime-maxtime
-
Максимальное непрерывное время использования процессора в реальном времени в микросекундах.
- -K или --kernel-queues
-
Максимальное количество kqueues (ядерных очередей) для текущего пользователя.
- -P или --ptys
-
Максимальное количество псевдотерминалов для текущего пользователя.
- -T или --threads
-
Максимальное количество одновременных потоков для текущего пользователя.
Обратите внимание, что не все эти ограничения доступны во всех операционных системах; обратитесь к документации setrlimit в вашей операционной системе.
Значение предела может быть числом в указанной для ресурса единице или одним из специальных значений 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.5/cmds/ulimit.html