Como posso limitar o número de núcleos de CPU que um usuário pode usar a qualquer momento no Linux?

Como posso limitar o número de núcleos de CPU que um usuário pode usar a qualquer momento no Linux?

Gostaria de limitar o número de núcleos de CPU que um usuário específico pode usar a qualquer momento. Como eu faria isso no Linux?

Responder1

Pelo que sei, você não pode fazer isso além de usar o docker como ambiente virtual e limitar o contêiner inteiro aos núcleos selecionados. Exemplo:

docker run --cpuset-cpus="0"

Na maior parte do tempo você não deve ser forçado a usar essa solução. Se um dos usuários causar problemas, /etc/security/limits.confadicione a entrada:

username    -       priority        19

Isso deve fazer com que todos os processos do usuário sejam executados com prioridade 19 (mais baixa) e mesmo consumindo muito da CPU não deve interferir em outros programas da máquina.

Além disso, se for uma questão de processo único (não de usuário), você pode usar niceou cpulimit/cgroups

informação relacionada