Логотип

Использование команд nice и renice для изменения приоритета процесса в Linux

Использование команд nice и renice для изменения приоритета процесса в Linux

Вы можете изменить, должен ли определенный процесс получать приоритет при потреблении ЦП с помощью команд nice и renice.

Каждый отдельный процесс, запущенный на компьютере с Linux, имеет приоритет для своего выполнения, который может быть преобразован в то, сколько мощности процессора будет выделено этому процессу для выполнения.

Конечно, в Linux вы можете контролировать столько, сколько захотите, поэтому вы также можете контролировать, какой приоритет что-либо должно иметь в системе при его запуске.

 

Как проверить правильность или приоритет процесса?

Если вы запустите команду ps, вы сможете увидеть, какие процессы в данный момент запущены в вашей системе Linux и какой приоритет они имеют в данный момент:

команда ps перечисляет процессы и показывает приоритеты

команда ps перечисляет процессы и показывает приоритеты

 

Теперь, если вы хотите запустить что-то с большим приоритетом (тогда как приоритетом будет большая мощность процессора), вы можете использовать команду ‘nice’, чтобы запустить это и контролировать, насколько этот конкретный процесс приятен для остальной части системы.

Приоритетность удобства выполнения этой команды изменяется от -20 до 19, где -20 означает наивысший приоритет и, как следствие, максимально возможную мощность процессора, до 19, что является минимально возможным значением и, следовательно, меньшим распределением мощности процессора.

Читать  Отладка сетевых проблем с помощью tcpdump

 

Как использовать команду nice?

Чтобы использовать команду nice, вы должны быть root или иметь возможности sudo в системе, поскольку это очень деликатная команда.

Предполагая, что вы являетесь пользователем root, вы должны ввести:

nice -n 12 <command>

 

Это сообщит системе, что вы хотите запустить <command>, используя приоритет 12 (10 по умолчанию, если вы не вводите никаких значений). В принципе, он будет занимать низкое место в списке приоритетов и, следовательно, не будет потреблять всю мощность процессора.

 

Для чего это полезно?

Представьте, что у вас есть процесс, который выполняет несколько вычислений и выполнение которого может занять несколько секунд или даже минут. Чем больше мощности выделено этому процессу, тем быстрее он запустится и завершится. Именно здесь эта команда может стать полезной, хотя и опасной.

Если у вас есть скрипт, который запускает множество процессов в общей среде или на рабочем сервере, запуск чего-либо с более высоким приоритетом может привести к тому, что сервер перестанет отвечать на запросы или выйдет из строя. Это потому, что центральный процессор будет выделен почти исключительно для запуска любого процесса, который вы вызвали с высоким приоритетом (или отрицательным значением), следовательно, он перестанет отвечать на запросы или даже отключит сервер, например, если в вашем скрипте есть бесконечный цикл.

Читать  7 примеров команды lsof в Linux

 

Как изменить приоритет запущенного процесса с помощью команды renice?

Допустим, вы начали запускать процесс с помощью команды nice, но через некоторое время вы хотите изменить его, хотя вам нужно, чтобы процесс продолжал работать, а не прерывал его или перезапускал. Здесь пригодится ваша команда ‘renice’.

Команда ‘renice’ может использоваться очень похожим образом и с использованием той же концепции, что и команда nice, однако она предназначена для изменения приоритета, который вы уже вызвали красиво.

Итак, если вы уже запускаете команду с помощью nice, вы можете изменить ее приоритет с помощью renice следующим образом (опять же, запустив ее от имени пользователя root):

renice -n -10 <command>

 

Это изменит предыдущий приоритет процесса, чтобы он стал более важным, следовательно, теперь с большей мощностью (-10).

Вы даже можете использовать это для всех процессов, принадлежащих определенному пользователю, например:

renice -n -10 -u helder

 

Это изменит приоритет всех процессов, принадлежащих пользователю helder.

Аналогичным образом вы можете использовать такие параметры, как -p и указать идентификатор процесса (или pid) или -g и использовать идентификатор группы процессов.

 

Заключение

Вы можете видеть, как Linux позволяет контролировать все, насколько это возможно, в вашей системе, и позволяет вам использовать это в свою пользу.

Возможность назначать и переназначать приоритеты для ваших процессов дает нам большие возможности контролировать, как наша система управляет процессами, насколько эффективно, а также какие расставить приоритеты, чтобы иметь возможность удовлетворить любую вашу потребность.

Читать  Инструмент командной строки: HTOP

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 4 (4 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала