Приоритет процесса в linux является динамическим: чем дольше он выполняется, тем ниже будет его приоритет.Процесс запускается , когда он фактически использует ЦП - большинство процессов в типичной системе Linux просто ждут ввода-вывода и, таким образом, не считаются работающими .
.Приоритет учитывается, когда запущено больше процессов, чем доступно процессорных ядер: выигрывает наивысший приоритет.Но поскольку выигрышный процесс со временем теряет свою устойчивость, другие процессы в какой-то момент захватывают ЦП.
nice
и renice
добавят / уберут некоторые «точки» из приоритета.Процесс с более высоким значением nice
получит меньшее время процессора.Корень также может установить отрицательное значение nice
- процесс получает больше процессорного времени.
Пример: в системе два процесса (1 и 2), вычисляющих проблему остановки, и одно ядро ЦП.По умолчанию nice 0
, поэтому оба процесса получают около половины процессорного времени каждый.Теперь давайте переименуем процесс 1 в значение 10. Результат: Процесс 2 получает значительно большее количество процессорного времени, чем процесс 1.
Примечание. В современных настольных ПК доступно достаточно времени ЦП - в наши дни они быстры.К сожалению, жесткие диски все еще относительно медленны при случайном вводе / выводе, поэтому даже хороший процесс может генерировать достаточно трафика ввода / вывода, чтобы значительно замедлить работу системы.