ulimit :максимальное значение размера основного файла

— хороший инструмент для :компактного кода, хорошая производительность. RUN.sh будет выглядеть как

#!/bin/sh
awk -v start="$1" -v stop="$2" '
    $3 ~ "^"start {p = 1}
    $3 ~ "^"stop  {p = 0}
    p
' logfile > resultfile

0
28.06.2021, 12:34
2 ответа

Вы можете установить ограничения для контейнера при запуске Docker с помощью флага --ulimit.

docker run --ulimit core=<size>...

Обратите внимание, что "unlimited" не является поддерживаемым значением, поскольку на самом деле это не реальное значение, но -1 эквивалентно ему:

$ docker run -it --ulimit core=-1 ubuntu:18.04 sh -c 'ulimit -a | grep core'
coredump(blocks)     unlimited
0
28.07.2021, 11:21

В Linux предел RLIMIT_CORE(, см. setrlimit(2)справочную страницу ), выражается в байтах. В то время как для ulimitиз bashи большинства других оболочек это выражается в кибибайтах.

Максимальное значение для RLIMIT_COREв байтах, которое вы можете передать в setrlimit()в Linux, будет наибольшим 64-битным целым числом без знака (18446744073709551615 ), имея в виду, что на самом деле это специальное значение для RLIM_INFINITY, максимум, который вы можете передать в bash ulimit, будет равен 1024, 18014398509481983, но тогда это не установит ограничение на RLIMIT_INFINITY, поскольку 18014398509481983 * 1024равно 18446744073709550592, что на 1023 меньше RLIM_INFINITY.

0
28.07.2021, 11:21

Теги

Похожие вопросы