Введение
В рамках данного испытания вы изучите способы управления планированием процессов в операционной системе 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). Эти навыки критически важны для системного администрирования и тонкой настройки производительности сервера.



