Limita o consumo de recursos do processo no CentOS 5 (kernel 2.6.18)

3

Eu gostaria de limitar o consumo de recursos (CPU, memória e largura de banda de rede) de processos no mesmo servidor. E será bom se eu puder migrar processos de um servidor para outro.

Acho que estou procurando por alguma virtualização leve. Eu achei LXC é uma boa escolha. Mas o nosso kernel 2.6.18 não suporta o LXC. É um cluster compartilhado, portanto, não tenho permissão para atualizar o kernel. E acho que a chamada de sistema "setrlimit" só enviará sinais para os processos quando o orçamento for atingido, em vez de limitar o consumo de recursos como uma máquina virtual (por favor corrija-me se estiver errado). Alguma recomendação para esta tarefa?

Obrigado!

    
por Geni 15.12.2011 / 07:27

1 resposta

1

Alguns desses recursos podem ser limitados pelo módulo pam_limits. Esta documentação primária para isso pode ser encontrada em:

man limits.conf

O arquivo que está configurado é /etc/security/limits.conf em todos os sistemas do tipo Red Hat.

Mais do que provavelmente a principal coisa a entender é a relação entre os limites hard e soft. Além disso, algumas diretrizes para começar a olhar são:

  • cpu
  • memlock
  • core

Existem exemplos na parte inferior da página do manual.

No que diz respeito à largura de banda da rede, isso é mais difícil de ser feito (mas não impossível). A ideia básica seria limitar o acesso com base no UID via iptables e executar o tráfego através de tc (controle de tráfego).

man tc
    
por 26.01.2012 / 19:55