Настройка планирования процессов

Red Hat Enterprise LinuxBeginner
Практиковаться сейчас

Введение

В рамках данного испытания вы изучите способы управления планированием процессов в операционной системе Linux. Планирование процессов — это ключевая функция ОС, которая определяет, какой процесс получает доступ к процессору и на какое время. Как системный администратор, вы можете влиять на этот механизм, корректируя приоритеты. Вы будете использовать команды nice и renice для управления приоритетами процессов — это базовый навык для оптимизации производительности системы и обеспечения критически важных приложений необходимыми ресурсами.

Запуск процесса с пользовательским приоритетом

В Linux каждый процесс имеет значение "nice", которое влияет на его приоритет в планировщике. Это значение варьируется от -20 (самый высокий приоритет) до 19 (самый низкий приоритет). Команда nice позволяет запустить новую команду с заданным значением приоритета. Обратите внимание, что только суперпользователь (root) или пользователь с правами sudo может устанавливать отрицательные значения nice для повышения приоритета процесса.

Задачи

  • Используйте команду nice для запуска нового процесса sleep 600 в фоновом режиме.
  • Назначьте новому процессу высокий приоритет со значением nice -10.
  • Проверьте приоритет созданного процесса с помощью команды ps.

Требования

  • Выполняемая команда: sleep 600.
  • Процесс должен быть запущен со значением nice -10.
  • Для назначения отрицательного значения nice необходимо использовать sudo.
  • Процесс должен быть запущен в фоновом режиме, чтобы вы могли продолжать работу в терминале.

Пример

После запуска процесса вывод команды ps -e -o pid,ni,comm | grep sleep должен показать процесс sleep со значением NI (nice), равным -10. Идентификатор PID будет отличаться.

ps -e -o pid,ni,comm | grep sleep
   2250 -10 sleep

Вы также можете использовать ps -e -o pid,ni,comm, чтобы увидеть все процессы и их значения nice:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250 -10 sleep

Изменение приоритета работающего процесса с помощью renice

Иногда возникает необходимость изменить приоритет процесса, который уже запущен. Для этого используется команда renice. Как и в случае с nice, вам потребуются права sudo для повышения приоритета (установки более низкого или отрицательного значения nice). Также sudo необходим для изменения приоритета процессов, принадлежащих другим пользователям, например, пользователю root.

Задачи

  • Найдите идентификатор процесса (PID) для sleep 600, который вы запустили на предыдущем этапе.
  • Используйте команду renice, чтобы понизить его приоритет, установив значение nice равным 5.
  • Проверьте новый уровень приоритета с помощью команды ps.

Требования

  • Целевой процесс — это sleep 600 из предыдущего шага.
  • Новое значение nice должно быть 5.
  • Вы должны использовать sudo для изменения приоритета процесса (так как он был запущен от имени root).

Пример

После выполнения команды renice вывод ps -e -o pid,ni,comm | grep sleep должен показать процесс sleep с новым значением NI, равным 5.

ps -e -o pid,ni,comm | grep sleep
   2250   5 sleep

Вы также можете использовать ps -e -o pid,ni,comm, чтобы увидеть все процессы:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250   5 sleep

Резюме

В этом испытании вы освоили основы управления приоритетами планирования процессов в Linux. Вы попрактиковались в использовании команды nice для запуска новых процессов с заданным приоритетом и команды renice для изменения приоритета уже активных задач. Вы также узнали, что для повышения приоритета процесса (установки отрицательного значения nice) требуются права администратора (sudo). Эти навыки критически важны для системного администрирования и тонкой настройки производительности сервера.

✨ Проверить решение и практиковаться✨ Проверить решение и практиковаться