Configure o Ubuntu para eliminar processos filhos do Apache quando o uso da memória atingir 90%

1

Minha situação é a seguinte: Nós rodamos o Magento Professional em uma instância de ram de 15Gb, rackspace.

Ao executar o htop, podemos ver que 'apache2 -k start' continua gerando mais processos filhos, alguns deles consomem ~ 900Mb de memória.

Quando a memória está quase esgotada, todos os sites expiram ou ficam muito lentos. Quando a memória está esgotada, parece que alguns desses processos foram mortos para liberar memória.

Então os mesmos procedimentos acontecem.

A minha pergunta é, poderíamos configurar o ubuntu / apache para matar processos filhos e liberar memória quando o uso da memória atingir 85-90%?

    
por ALAN VO 10.01.2014 / 02:16

1 resposta

1

Do que eu encontrei sobre o OOM OOM :

quando uma tarefa pai é selecionada, o oom killer sacrifica qualquer geração crianças com espaços de endereços separados, se possível. este evita que servidores e importantes daemons do sistema sejam mortos e perde o quantidade mínima de trabalho.

Como você está determinando que os processos filhos do Apache não estão sendo mortos primeiro? É possível que a OOM elimine o processo filho, mas o sistema ainda não está fora da floresta e precisa matar outro processo filho (dependendo de quantos são gerados) (não sou um usuário pesado do apache, então não sei em detalhes como o apache espaço de endereçamento é tratado entre seus processos filhos)

Em segundo lugar, trata-se da seção de ajuste do Apache Docs Apache Tuning :

Você pode, e deve, controlar a configuração MaxRequestWorkers para que seu servidor não gere tantos filhos que ele inicia a troca. Eu procuraria o que davidgo sugeriu.

Espero que isso ajude.

    
por 10.01.2014 / 19:51