Apache não pode bifurcar: não pode alocar memória

3

Estou executando apache no Fedora com mod_perl . O servidor bifurca um processo para enviar um email com freqüência - e o fork sai.

De repente, recebi: Cannot fork: Cannot allocate memory . Havia muita memória livre (eu não olhei muito de perto, mas havia mais memória livre do que em uso), não muitos apache processos em execução - 10 ?, baixo uso da CPU, perto de 0. Reiniciando o servidor httpd gracioso resolveu o problema.

O que causaria algo assim? É possível que eu tenha entrado em algum estado em que o problema estava alocando muitos processos no sistema - e com a queda da carga não consegui recuperar?

Infelizmente, não tenho muitas informações porque estava em pânico e tentava obter o site em vez de executar diagnósticos. :-) Então, minha pergunta é muito geral: existe alguma coisa que não é óbvia que criaria esse comportamento quando muitos processos são alocados? Alguma coisa específica para bifurcar dentro do apache? etc

Obrigado!

    
por KateYoak 18.02.2012 / 03:28

1 resposta

4

Parece que você está atingindo limites de recursos. Veja pam_limits.so e /etc/security/limits.conf . Isso permite que um administrador defina limites explícitos nos recursos que um usuário pode usar para que um usuário não possa roubar todos os recursos do sistema. Se o Apache estiver atingindo um limite especificado por ele, ele retornará um erro como o anterior, embora haja muitos recursos que outros usuários possam usar. Há também o comando limit ou ulimit na maioria dos shells, mas não acho que seja esse o problema.

    
por 03.03.2012 / 02:56