ryg

Встроенная команда bash- ulimit в Mac OS X и FreeBSD

Синтаксис

ulimit [-SHacdefilmnpqrstuvx [limit]]

Описание

Утилита ulimit устанавливает ограничения на общесистемные ресурсы. Позволяет обеспечивать контроль над ресурсами для оболочки и процессов, запущенных под ее управлением, если это возможно. Данная утилита в строена в интерпретатор bash.
Под мягкими ограничениями понимается ограничение, которое ядро устанавливает для соответствующего ресурса, Жесткое ограничение это потолок для мягкого ограничения.
Непривилегированный процесс может устанавливать мягкое ограничение со значениями от нуля до жесткого ограничения и необратимо снизить жесткое ограничение ресурса. Привилегированные процессы могут свободно изменять ограничения в обе стороны.
Если не указан ни один из параметров -H и -S то будут изменены и жесткие и мягкие ограничения. Невозможно увеличить жесткие ограничения за одну установку, мягкие лимиты могут быть увеличены до жестких.
Если не указан параметр -H и опущено значение лимита (limit), то будет напечатано текущее значение мягкого ограничения заданного ресурса.
Если не задан ни один из параметров, то предполагается, что использован параметр -f. 
Значение лимита может быть числом, подходящим для данного ресурса или одним из специальных значений hardsoft или unlimited, что соответственно означает жесткий лимит, мягкий и без ограничений.
Значения limit, как правило указывается в 1024-байтных блоках, за исключением параметра -t он указывается в секундах, -p указывается в 512-байтных блоках, а значения параметров -n и -u в не масштабируемых единицах.
 
 
Параметры команды ulimit в bash
 
-S Установить мягкие ограничения для указанных ресурсов.
-H Установить жесткие ограничения для указанных ресурсов.
-a  Сообщить о текущих ограничениях по всем ресурсам.
-c Максимальный размер ядра создаваемых файлов.
-d Максимальный размер сегмента данных процесса.
-e Максимальный планируемый приоритет ("nice").
-f Максимальный размер файла, записываемого с помощью оболочки и ее потомками.
-i Максимальное количество ожидающих сигналов.
-l Максимальный размер памяти, который может быть зарезервирован.
-m Максимальный размер в памяти (The maximum resident set size).
-n Максимальное количество открытых файловых дескрипторов (многие unix системы не позволяют изменять значения данного ресурса).
-p Размер "трубы" (pipe size) в 512-байтных блоках (нельзя изменять во многих операционных системах).
-q Максимальное количество байт в очереди сообщений POSIX.
-r Максимальный планируемый приоритет в реальном времени.
-s Максимальный размер стека (stack size).
-t Максимальная загрузка процессора в секундах.
-u Максимальное количество процессов доступных одновременно одному пользователю.
-v Максимальный размер виртуальной памяти доступный оболочке.
-x Максимальное количество файловых блоков.

limit Новое значение ограничения для заданного ресурса (текущее значение и тип измерения можно посмотреть с помощью параметра -a).

Пример
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited>

Связанные команды bash

quota - показать ограничения на использование дисков
bash - командный интерпретатор

Алфавитный список команд terminal в Mac OS X