Назначить более высокий приоритет определенному процессу по умолчанию

Назначить более высокий приоритет определенному процессу по умолчанию

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

Я знаю, что могу сделать это индивидуально для каждого экземпляра запуска программы, т. е. для конкретных процессов. Но как настроить значение по умолчанию для программы (т. е. для всех будущих процессов)?

Версия ядра: 4.10.11-200.fc25.x86_64

решение1

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

Вы можете использовать это — но вы можете быть немного разочарованы, потому что планировщик Linux должен многое сбалансировать, и увеличение приоритета не обязательно даст волшебное ускорение. Вы даже можете столкнуться с ситуациями, когда это делает вещихудший, поскольку ваш высокоприоритетный процесс может «заморить» низкоприоритетные процессы, от которых на самом деле может зависеть работа вашего приложения.

Так что вместо этого вы могли бы посмотреть на что-то вроденастроенный, который имеет профили производительности для различных рабочих нагрузок.Или, если вы любите приключения, вы можете посмотреть наCon Kolivas патчи для планировщика рабочего стола, которые направлены на оптимизацию рабочего стола. Это действительно трудно измерить и это довольно спорно — многие люди клянутся в этом, в то время как другие относятся к этому скептически. (Статья Linux Weekly News о последней итерации есть наПланировщик CPU MuQSS(В настоящее время доступ к нему платный, но 4 мая он станет бесплатным.)

решение2

вам захочется взглянуть нахорошийиРеницеУтилиты. Чтобы дать вашему процессу более высокий приоритет ЦП, вам необходимо иметь привилегии root/sudo. Вы можете либо использовать niceдля запуска процесса с более высоким приоритетом, либо reniceизменить его на более высокий приоритет позже.

(terminal1):~# nice -n -10 sleep 100
(terminal2):~# top -b -n1 | grep sleep
23580 root      10 -10    4508   1244   1156 S 0.000 0.008   0:00.00 sleep
(terminal1):~# sleep 100
(terminal2):~# top -b -n1 | grep sleep
23888 root      20   0    4508   1316   1228 S 0.000 0.008   0:00.00 sleep
(terminal2):~# renice -n -10 23888
23888 (process ID) old priority 0, new priority -10
(terminal2):~# top -b -n1 | grep sleep
23888 root      10 -10    4508   1356   1268 S 0.000 0.008   0:00.00 sleep

Связанный контент