8. Приятность

Когда вы запускаете несколько приложений на компьютере, кажется, что они работают одновременно. В действительности ЦП быстро переключается между ними, выделяя каждому процессу небольшое количество времени обработки.

Как ЦП управляет процессами

Каждому процессу выделяется небольшой объем времени ЦП, называемый «квантом времени» (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

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Примените свои знания с помощью этой практической лабораторной работы, чтобы закрепить понимание управления процессами и планирования в Linux:

  1. Управление и мониторинг процессов Linux - Практикуйтесь во взаимодействии с процессами на переднем и заднем планах, просматривайте их с помощью ps, отслеживайте ресурсы с помощью top, настраивайте приоритет с помощью renice и завершайте их с помощью kill.

Эта лаборатория поможет вам применить концепции планирования процессов и niceness в реальных сценариях и повысить уверенность в управлении процессами в Linux.

Тест

If you want a process to get more CPU priority, should you use a lower or higher nice number? Please answer in a single English word, all lowercase.