
Me gustaría limitar la cantidad de núcleos de CPU que un usuario específico puede usar en un momento dado. ¿Cómo haría esto en Linux?
Respuesta1
Por lo que sé, no puedes hacer eso más que usar Docker como entorno virtual y limitar el contenedor completo a núcleos seleccionados. Ejemplo:
docker run --cpuset-cpus="0"
Durante la mayor parte del tiempo, no debería verse obligado a utilizar dicha solución. Si uno de los usuarios causa problemas, utilice /etc/security/limits.conf
agregar entrada:
username - priority 19
Eso debería hacer que todos los procesos del usuario se ejecuten con prioridad 19 (la más baja) e incluso cuando consuma gran parte de la CPU no debería interferir con otros programas en la máquina.
Además, si se trata de un proceso único (no de un usuario), entonces puede usar nice
o cpulimit
/cgroups