Как изменить приоритет процесса в Linux с помощью nice и renice
Linux позволяет запускать множество процессов на одном компьютере без сбоев. Иногда интенсивный процесс может замедлить работу вашей системы. Разве не было бы замечательно, если бы был способ отложить это на задний план, когда вы продолжаете заниматься другими делами? Вы можете это сделать с помощью утилиты nice.
Хорошая игра с процессами
Nice – это утилита, встроенная в системы Linux и Unix, которая может снизить приоритет процессора для процесса. Эта утилита – артефакт той эпохи, когда Unix работала на многопользовательских мини-компьютерах и мэйнфреймах, но она по-прежнему полезна для работы на однопользовательских рабочих столах.
Возможно, вы играете в игру и испытываете задержку из-за какого-то интенсивного процесса, который, как вы знаете, займет много времени, чтобы получить результат, например торрент-клиент . Просто перенесите его на задний план и продолжайте играть.
Nice – это либо отдельная программа, либо встроенная в оболочку. Чтобы выяснить, что происходит в вашей системе, введите:
which nice
В Ubuntu установлена версия nice – это версия GNU .
Nice использует концепцию «хорошего числа», которая является приоритетом любого процесса. В версии GNU он колеблется от 19 до -20. Отрицательные числа дают больший приоритет процессу, а положительные – меньше. Вы можете увидеть это красивое число в столбце NI в таких утилитах, как top или htop .
Чтобы запустить процесс с более низким приоритетом, используйте эту команду:
nice processname
Замените имя процесса на процесс, который вы хотите запустить. По умолчанию nice присваивает значение nice, равное 10. Все процессы, запущенные нормально, по умолчанию будут иметь значение 0.
Если вам нужно конкретное число, в данном случае абсолютный минимальный приоритет, используйте опцию -n с нужным числом:
nice -n 19 processname
Изменение приоритета процесса с помощью renice
Теперь вы можете запускать команды с пониженным приоритетом, но как насчет изменения приоритета запущенных процессов? Вы также можете сделать это с помощью другой утилиты, renice.
Вам понадобится PID или Process ID процесса, который вы хотите изменить. Вы можете найти это с помощью команды ps , top или htop. Как только вы это обнаружите, вам просто нужно передать его команде renice.
Чтобы установить новый хороший номер для вашего PID, введите:
renice priority PID
… где приоритет – это хорошее число, которое вы хотите использовать.
Флаг -n изменяет приоритет процесса на указанное вами приращение, положительное или отрицательное, поэтому, если у вас был процесс со значением 10 и вы хотели изменить его на 8, введите:
sudo renice -n -2 PID
Только суперпользователь может изменить процессы, принадлежащие другому пользователю, или повысить приоритет процесса. Вы можете использовать переключатель -u, за которым следует имя пользователя, чтобы настроить приоритет для любого пользователя:
renice priority -u username
Теперь вы можете изменить приоритеты процессов для достижения наилучшей производительности
С помощью nice и renice вы можете изменить приоритет любого процесса в Linux. Это, несомненно, поможет вам во времена, когда тяжелый процесс съедает огромную часть ваших системных ресурсов. Кроме того, может быть полезна оптимизация производительности вашей системы с помощью инструментов мониторинга, таких как Stacer.