Eu tenho um cluster de computadores Linux que são compartilhados por muitos usuários e quero garantir que nenhum usuário possa inundar os sistemas e impedir que outros executem qualquer coisa. Ou seja, se o usuário A
estiver executando um único trabalho intensivo de CPU e o usuário B
estiver executando 50, eu gostaria que o trabalho do usuário A
tivesse efetivamente até 50% de uso da CPU. Atualmente, neste cenário, o usuário B
parece obter 50X dos recursos da CPU que o usuário A
faz.
Eu olhei para cgroups
, já que parecia exatamente o que eu queria. No entanto, em um cenário de usuário único (ou seja, se o usuário A
não quiser nenhum tempo de CPU), eu gostaria que o usuário B
tivesse acesso aos recursos de computação completos do sistema. Não está claro para mim como fazer isso com os cgroups. Todas as referências que encontrei falam sobre a colocação de limites rígidos como "usuário B
pode ter até 50% de CPU".