O Apache falha alguns segundos após o início

2

Eu tenho um problema com o apache. Quando eu tento iniciá-lo (/etc/init.d/apache2 start) ele morre depois de alguns segundos. Ele aparece no "ps aux" consumindo muita memória e depois morre. Eu não sei o que poderia estar causando o apache para consumir essa quantidade de memória:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     13379  1.0  0.3  14376  3908 ?        Ss   22:31   0:00 /usr/sbin/apache2 -k start
www-data 13383  0.0  0.4 197316  4196 ?        Sl   22:31   0:00 /usr/sbin/apache2 -k start
www-data 13390  0.0  0.3 172728  4172 ?        Sl   22:31   0:00 /usr/sbin/apache2 -k start
www-data 13396  0.0  0.3 156336  4160 ?        Sl   22:31   0:00 /usr/sbin/apache2 -k start
www-data 13400  0.0  0.3 148140  4156 ?        Sl   22:31   0:00 /usr/sbin/apache2 -k start
www-data 13403  0.0  0.3 131748  4148 ?        Sl   22:31   0:00 /usr/sbin/apache2 -k start

Aqui está uma captura de tela do htop:

link

Aconteceu de repente, nenhuma alteração foi feita na configuração do servidor, então não sei o que está causando isso. O log de erros dos meus servidores virtuais mostra isso:

[Sun Jan 30 22:19:50 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=9685): Couldn't create worker thread 11 in daemon process 'fb.ebookmetafinder.com'.
[Sun Jan 30 22:19:55 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=9685): Couldn't create worker thread 19 in daemon process 'fb.ebookmetafinder.com'.
[Sun Jan 30 22:29:40 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=12009): Couldn't create worker thread 18 in daemon process 'fb.ebookmetafinder.com'.
[Sun Jan 30 22:31:06 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=13396): Couldn't create worker thread 15 in daemon process 'fb.ebookmetafinder.com'.
[Sun Jan 30 22:35:02 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=14009): Couldn't create worker thread 16 in daemon process 'fb.ebookmetafinder.com'.
[Sun Jan 30 22:35:07 2011] [alert] (11)Resource temporarily unavailable: mod_wsgi (pid=14009): Couldn't create worker thread 17 in daemon process 'fb.ebookmetafinder.com'.

Eu estou em um servidor ubuntu vps e eu uso o mod_wsgi com o django.

Obrigado.

EDITAR: Depois de editar a configuração do Apache mpm como sugerido por alvosu, o apache é iniciado corretamente e não trava, mas consome toda a ram do meu sistema a ponto de torná-lo instável:

root@vps:~# ps
ps: error while loading shared libraries: libc.so.6: failed to map segment from shared object: Cannot allocate memory

Este é o resultado do free -m com o apache em execução:

             total       used       free     shared    buffers     cached
Mem:          1024       1022          1          0          0          0
-/+ buffers/cache:       1022          1
Swap:            0          0          0

E isso sem ele:

             total       used       free     shared    buffers     cached
Mem:          1024        203        820          0          0          0
-/+ buffers/cache:        203        820
Swap:            0          0          0

Acho que o apache não deve consumir essa quantidade de memória RAM. Eu uso o apache para servir um páginas dinâmicas e nginx para um estático. Eu tenho 4 hosts virtuais neste servidor.

    
por Nacho 30.01.2011 / 23:37

1 resposta

1

Tente editar a configuração do Apache mpm.

$ apache2 -V | grep MPM Servidor MPM: Prefork

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       5
    MaxClients            30
    ServerLimit           30
    MaxRequestsPerChild   5000
</IfModule>

$ apache2 -V | grep MPM Servidor MPM: Trabalhador

<IfModule mpm_worker_module>
    StartServers           2
    MaxClients            30
    MinSpareThreads       15
    MaxSpareThreads       20
    ThreadsPerChild       10
    MaxRequestsPerChild  5000
</IfModule>
    
por 30.01.2011 / 23:46