Изменить правильность (приоритет) запущенного процесса
Можно ли установить новый nice
уровень запущенного процесса с известным идентификатором?
Требует ли эта операция root-доступа или просто является владельцем процесса?
7 ответов
Терминал
Если вы находитесь в терминале, вы можете использовать renice
renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
Простой пример будет
renice 8 31043
31043: old priority 5, new priority 8
Вы также можете передать ему жесткие флаги, но это следует за этим порядком (сначала нужно передать приоритет, а затем pid - если вы измените порядок, он покажет сообщение об использовании)
renice -n 5 -p 31043
31043: old priority 8, new priority 5
Приоритеты работают в масштабе -20
в 19
- Чем меньше число, тем выше его приоритет в системе.
Если вы являетесь владельцем процесса, вам не нужен root - однако, если процесс принадлежит другому пользователю или вы планируете изменить группу / пользователя root процесса (через sudo
) потребуется.
графический интерфейс пользователя
- Alt+F2 и тип
sudo gnome-system-monitor
До 11.04: Система> Администрирование> Системный монитор. Выберите Процессы.
В 11.04: Alt+A и поиск system monitor
,
Идентификаторы показаны на изображении здесь:
И приятно, не требует sudo для увеличения милости, если у вас есть задача. Это делает, если вам нужно уменьшить любезность.
Запустите команду с хорошим prio
nice -n 19 your_command
Ренис процесс
renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)
19
между -20 и 19
19 является самым низким приоритетом
Использование "renice" в терминале выглядит следующим образом:
Usage:
renice [-n] <priority> [-p] <pid> [<pid> ...]
renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
renice [-n] <priority> [-u] <user> [<user> ...]
Options:
-g, --pgrp <id> interpret as process group ID
-h, --help print help
-n, --priority <num> set the nice increment value
-p, --pid <id> force to be interpreted as process ID
-u, --user <name|id> interpret as username or user ID
-v, --version print version
Использование "sudo" перед командой "renice" поднимает пользователя до уровня root, и потребуется пароль администратора /root.
Например, если вы хотите поднять процесс с PID (ID процесса) 2606 с обычного приоритета на высокий приоритет, вы должны ввести в терминале следующее:
sudo renice -n -5 -p 2606
Вы также можете арендовать процесс в верхней части.
1) Начать сверху
$ top
2) отожмите нажатием r
, Вам будет предложено ввести идентификатор процесса (PID) процесса, который вы хотите арендовать. PID по умолчанию является первым процессом (один из которых потребляет наибольшее количество ресурсов). Подтвердите с помощью Enter. Установите новое значение nice от -20 (более высокий приоритет) до +19 (более низкий приоритет).
htop
- Начните
htop
Renice с F7 / F8 (если вы внутри Byobu, временно отключите сочетания клавиш с помощью Shift + F12). Имейте в виду, что вам нужны привилегии суперпользователя для уменьшения привлекательности.
Вы можете добавить возможность
CAP_SYS_NICE
пользователю, использующему систему возможностей Linux, если вы не хотите предоставлять полный root-доступ пользователю/сценарию.
К сожалению, он по-прежнему позволяет изменять произвольные процессы, в том числе принадлежащие разным пользователям.