Почему `ulimit` не ограничивает использование памяти, как я ожидаю?
Я пытаюсь ограничить использование памяти процессом
$ulimit -m 2 $/usr/bin/time -l ./myProcess arg1 arg2
Процесс запускается без остановки до time
выхода
7.00 real 4.83 user 2.16 sys 4154855424 maximum resident set size 0 average shared memory size 0 average unshared data size 0 average unshared stack size 1014384 page reclaims 0 page faults 0 swaps 0 block input operations 2 block output operations 0 messages sent 0 messages received 0 signals received 0 voluntary context switches 15 involuntary context switches
показывая, что лимит был превышен, несмотря на ulimit -m 5
командную строку. Я также пробовал варианты -v
и, -l
но ни один из них не кажется, на самом деле ограничить использование памяти. Я также попытался, time
чтобы убедиться, что он не сможет увидеть использование памяти подпроцесса. Здесь все ограничения после использования всех -m
, -v
и-l
$ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) 3 max memory size (kbytes, -m) 2 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) 2
Если я ограничиваю время процессора ( ulimit -t 3
), то он работает нормально и убивает процесс через 3 секунды.
Вопрос
Есть ли что-то, что я неправильно понимаю ulimit -m 5
? Есть ли ошибка в моей версии ulimit?
Есть ли альтернатива ulimit
ограничению времени и использования памяти процессом (необязательно сеанс bash)?
Версии
Я на MAC OSX 10.11.6
и bash version 3.2.57
.
Связанный пост
Пост «Не ограничивайте использование памяти» очень связан, но я не думаю, что принятый ответ предлагает какое-либо решение о том, как решить проблему.
0 ответов на вопрос
Похожие вопросы
-
2
.profile в Mac OS X?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
8
Переименуйте группу файлов одной командой
-
2
Почему мой путь не обновляется * сейчас *?
-
5
Как удалить символическую ссылку на каталог?
-
8
Спаси меня от бессмысленного терминала
-
9
Как можно добавить номер строки и табуляцию к каждой строке текстового файла?
-
2
Монитор ресурсов для OS X