Renunciar automáticamente al inicio del proceso

Renunciar automáticamente al inicio del proceso

Tengo pocos juegos de Steam. Ahora mismo renicelos hago manualmente.

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

¿Hay alguna manera de hacerlo automáticamente (usando reglas de systemd o algo así)?

Respuesta1

Puede utilizar el comando siguiente:

edición systemctl --force --fullnombre-de-su-servicio

Luego edite el archivo que se abrirá:

[name-of-your-service]

Nice=your-nice-value

Respuesta2

Lo siguiente puede tener algunas implicaciones de seguridad que desconozco, pero todas las sugerencias podrían lograr una respuesta a la pregunta.

yo suelomodo de juegoque está disponible en muchas distribuciones de Linux. Puede realizar una variedad de ajustes relevantes para los juegos, incluido hacer unlindo. Para steam cambio el de cada juegoopciones de lanzamiento de propiedadesser:

__GL_THREADED_OPTIMIZATION=1 gamemoderun %command%

Para obtener los permisos necesarios para nice/renice tengo unjugadoresGrupo Linux/UNIX. Agrego las siguientes entradas en /etc/security/limits.conf para establecer un límite predeterminado para todos a través delusuariogrupo, y luego permitir que cualquier persona en eljugadorgrupo para reducir hasta -6 pero con un límite estricto del sistema de -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

me puse en eljugadoresgrupo (esto tiene efecto en un nuevo inicio de sesión o mediante el comando newgrp).

Con estos límites establecidos, gamemoderun puede leer y establecer un valor de renice deseado desde /home/myself/.config/gamemode.ini y aplicarlo al iniciar el juego.

El único problema que tengo es que los juegos de Steam Proton parecen perder afinidad con el comando que los inició y no obtienen los nuevos límites apropiados. Una solución para este problema es iniciar Steam con gamemoderun para que todos los procesos que inicie terminen con los mismos límites.

Otra posibilidad sería utilizarrenicidooherramienta de programaciónque, según tengo entendido, se realiza sobre la marcha haciendo coincidir los atributos de los procesos mediante escaneos periódicos del sistema.

información relacionada