Удобство и приоритетные процессы в системе Linux

#linux-kernel #operating-system #scheduling #nice

#linux-ядро #операционная система #планирование #неплохо

Вопрос:

Я ищу способ изменить приоритет процесса через командную строку. Я нашел встроенный (bash) nice и команду renice , которые позволяют изменять удобство процесса, но не фактический приоритет, который вычисляется ядром.

Есть ли команда, которая позволяет установить приоритет? (Или я путаюсь между вежливостью и приоритетом?)

Комментарии:

1. Также смотрите Разница между хорошим значением и приоритетом в верхнем выводе

Ответ №1:

Приоритет процесса в Linux является динамическим: чем дольше он выполняется, тем ниже будет его приоритет. Процесс запускается, когда он фактически использует центральный процессор — большинство процессов в типичном Linux-блоке просто ожидают ввода-вывода и, следовательно, не считаются запущенными.

Приоритет учитывается, когда запущено больше процессов, чем доступных ядер процессора: выигрывает наивысший приоритет. Но поскольку процесс-победитель со временем теряет свою производительность, другие процессы в какой-то момент возьмут на себя управление процессором.

nice и renice добавит / удалит некоторые «точки» из приоритета. Процесс, который имеет более высокое nice значение, получит меньшее процессорное время. Root также может установить отрицательное nice значение — процесс получает больше процессорного времени.

Пример: Есть два процесса (1 и 2), вычисляющие проблему остановки, и одно ядро процессора в системе. Значение по умолчанию равно nice 0 , поэтому оба процесса получают примерно половину процессорного времени каждый. Теперь позволяет renice обработать 1 до значения 10. Результат: Процесс 2 получает значительно большее количество процессорного времени, чем процесс 1.

Примечание: На современных настольных компьютерах доступно достаточно процессорного времени — в наши дни они быстры. К сожалению, жесткие диски по-прежнему relativeley медленно случайных операций ввода-вывода, так даже приятный процесс может генерировать достаточный трафик ввода-вывода, чтобы значительно замедлить систему.

Комментарии:

1. Нет, вы не смущены. В resent Linux есть другие планировщики. @Turbo J описал планировщик по умолчанию / обычный / транснациональный. Есть несколько других планировщиков: обычный, пакетный, циклический, FIFO. А также ввод-вывод: обычный, в режиме ожидания, с максимальными усилиями, в режиме реального времени. Пакетная обработка и режим ожидания имеют более низкий приоритет, чем обычно, остальные выше обычного, будьте очень осторожны с ними (не трогайте их).

2. Как насчет ionice ?