Pelo que sei, você não pode fazer isso a não ser usar o docker como ambiente virtual e limitar o container inteiro aos núcleos selecionados. Exemplo:
docker run --cpuset-cpus="0"
Durante a maior parte do tempo, você não deve ser forçado a usar essa solução.
Se um dos usuários causar problemas, use /etc/security/limits.conf
adicionando entrada:
username - priority 19
Isso deve fazer com que todos os processos do usuário sejam executados com prioridade 19 (menor) e mesmo consumindo muito CPU, não interfira com outros programas na máquina.
Além disso, se for uma questão de processo único (não de usuário), você poderá usar nice
ou cpulimit
/ cgroups