Автоматически обновлять при запуске процесса

Автоматически обновлять при запуске процесса

У меня мало игр в стим. Сейчас я reniceих вручную устанавливаю.

sudo renice -n -20 -p $(pgrep csgo_linux64)

Есть ли способ сделать это автоматически (используя правила systemd или что-то в этом роде)?

решение1

Вы можете использовать следующую команду:

systemctl редактирование --force --fullназвание-вашей-службы

Затем отредактируйте открывшийся файл:

[name-of-your-service]

Nice=your-nice-value

решение2

Нижеизложенное может иметь некоторые последствия для безопасности, о которых я не знаю, но все предложения могут дать ответ на вопрос.

я используюgamemoderunкоторый доступен во многих дистрибутивах Linux. Он может выполнять различные настройки, относящиеся к играм, включая выполнениехороший. Для стима я меняю каждую игрусвойства параметры запускабыть:

__GL_THREADED_OPTIMIZATION=1 gamemoderun %command%

Чтобы получить необходимые разрешения для nice/renice у меня естьгеймерыГруппа Linux/UNIX. Я добавляю следующие записи в /etc/security/limits.conf, чтобы задать лимит по умолчанию для всех черезпользовательгруппе, а затем разрешить любому вгеймергруппа, которая может быть изменена на величину до -6, но с жестким системным ограничением -10:

# limits for gamers group in /etc/security/limits.conf
# set default and max prio for users who are members of the gamer group
@user           -       nice    0
@gamer          soft    nice    -6
@gamer          hard    nice    -10

Я поставил себя на местогеймерыгруппа (вступает в силу при новом входе в систему или с помощью команды newgrp).

При таких ограничениях gamemoderun может считывать и устанавливать желаемое значение renice из /home/myself/.config/gamemode.ini и применять его при запуске игры.

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

Другой возможностью было бы использованиевосстановленныйилиschedtoolкоторые, как я понимаю, обновляются «на лету» путем сопоставления атрибутов процессов посредством периодического сканирования системы.

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