Когда вы запускаете несколько приложений на компьютере, кажется, что они работают одновременно. В действительности ЦП быстро переключается между ними, выделяя каждому процессу небольшое количество времени обработки.
Как ЦП управляет процессами
Каждому процессу выделяется небольшой объем времени ЦП, называемый «квантом времени» (time slice). По истечении кванта времени процесс приостанавливается, и ЦП переходит к следующему. По умолчанию планировщик ядра Linux распределяет процессы по кругу (round-robin), гарантируя, что каждый процесс получит справедливую долю времени ЦП до своего завершения. Планировщик ядра очень эффективно управляет этими быстрыми переключениями.
Что такое Niceness в Linux
Хотя процессы не могут напрямую контролировать свое время ЦП, вы можете влиять на решения планировщика ядра. Это достигается путем настройки значения linux niceness процесса. Термин «niceness» (вежливость) относится к тому, насколько «вежлив» процесс по отношению к другим процессам в системе.
Niceness процесса представляется числом в диапазоне от -20 (наивысший приоритет) до 19 (наинизший приоритет).
- Высокое значение niceness (например, 19) означает, что процесс очень «вежлив» и имеет низкий приоритет, уступая время ЦП другим.
- Низкое или отрицательное значение niceness (например, -20) означает, что процесс не «вежлив» и требует больше времени ЦП, получая более высокий приоритет.
Понимание linux process niceness является ключом к эффективному управлению системными ресурсами.
Изменение приоритета процесса
Вы можете просмотреть текущий уровень niceness запущенных процессов с помощью команды top. Ищите столбец NI, который отображает значение niceness.
top
Чтобы управлять значением niceness linux, вы можете использовать команды nice и renice.
Используйте команду nice, чтобы запустить новый процесс с определенным уровнем niceness. Например, следующая команда запускает apt upgrade с niceness, равным 5.
nice -n 5 apt upgrade
Чтобы изменить приоритет уже запущенного процесса, используйте команду renice. Следующая команда изменяет niceness процесса с PID 3245 на 10.
renice 10 -p 3245