Costumava haver uma opção de configuração do kernel chamada sched_user ou similar no cgroups. Isso permitiu (que eu saiba) a todos os usuários compartilharem de maneira justa os recursos do sistema. No 2.6.35, ele não está disponível. Existe uma maneira de configurar meu sistema para compartilhar automaticamente recursos de io / cpu / memory entre todos os usuários (incluindo o root?). Eu nunca montei um cgroup antes, existe um bom tutorial para fazer isso? Muito obrigado.
linux
kernel
performance
administration
NightwishFan
fonte
fonte
Respostas:
A documentação do kernel fornece uma cobertura geral do cgroups com exemplos.
O
cgroups-bin
pacote (que dependelibcgroup1
) já fornecido pela distribuição deve estar bem.A configuração é feita editando os dois arquivos a seguir:
Usado pelo libcgroup para definir grupos de controle, seus parâmetros e pontos de montagem.
Usado pelo libcgroup para definir os grupos de controle aos quais o processo pertence.
Esses arquivos de configuração já possuem exemplos, portanto, tente ajustá-los aos seus requisitos. As páginas do manual cobrem muito bem sua configuração.
Depois, inicie o gerenciador de carga de trabalho e o daemon de regras:
O gerenciador de carga de trabalho (cgconfig) é responsável por alocar os recursos.
Adicionando um novo processo ao gerente:
Incluindo um processo já em execução no gerenciador:
Ou automaticamente, sobre o arquivo cgrules.conf e o CGroup Rules Daemon (cgred), que força todo processo recém-gerado no grupo especificado.
Exemplo /etc/cgconfig.conf:
Exemplo /etc/cgrules.conf:
Isso compartilhará os recursos da CPU entre 50 e 50 entre o usuário 'alice' e 'bob'
fonte