2

Вызов ulimit -a возвращает следующее:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1895
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1895
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Что делает опция -r (в реальном времени)?

1 ответ1

0

TL-DR: это наивысший (= самый срочный) приоритет, который порожденные оболочкой процессы могут быть назначены планировщиком.

Объемное объяснение

ulimit дает контроль над ресурсами, доступными для оболочки: он сообщает и / или устанавливает такие ограничения.

Флаг -r сообщает о самом высоком приоритете, который будет назначен для планирования процесса, порожденного оболочкой. Поскольку приоритеты варьируются от 0 (наиболее срочно) до 99 (наименее срочно), это означает, что процессы, порожденные оболочкой (те, которые относятся к классам приложений реального времени), могут достичь самых высоких приоритетов планирования.

Процессы классифицируются либо на основе использования ими ресурсов (связанных с вводом- выводом или связанных с процессором, в зависимости от того, используют ли они в основном ресурсы ввода-вывода или ресурсов процессора), либо, что более уместно, здесь, на основании степени их срочности (нетехническое выражение). Существуют интерактивные процессы, такие как оболочка: поскольку мы, люди, медлительны и тупы, компьютер тратит много времени на ожидание, чтобы мы даже подняли палец. Однако после нажатия клавиши этим процессам должен быть дан высокий приоритет, если мы не чувствуем, что система перестала отвечать ; средние задержки должны быть порядка 50 мсек или около того и с небольшой дисперсией.

Существуют также пакетные процессы, которые не требуют взаимодействия с пользователем, выполняются в основном в фоновом режиме, поэтому планировщик получает низкий приоритет. Типичным примером являются научные расчеты.

Наконец, существуют процессы реального времени, которые накладывают самые строгие ограничения на планировщик. В эту категорию попадают видео и аудио записи и воспроизведения, сбор данных с физических датчиков, контроллеров роботов. Этим процессам должен быть присвоен самый высокий приоритет, чтобы они могли выполнять свои задачи.

Тот факт, что такой приоритет, как сообщает ulimit, равен 0, не означает, что это обязательно 0: 0 - это жесткий предел, вы можете установить мягкий предел при меньших значениях, и вы можете увеличить приоритет до значения жесткий предел, который, однако, в этом случае также совпадает с максимально доступным в системе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .