O que está consumindo tanta memória?

3

Estou tendo alguns problemas com meu servidor. Está lançando erros intermitentes e rodando bem devagar. Aqui está a saída do topo:

top - 07:33:33 up 18:57,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  90 total,   1 running,  82 sleeping,   7 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1048576k total,  1048576k used,        0k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

Encomendado por% MEM:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 9597 root      16   0  276m  91m  15m S  0.0  8.9   0:29.38 java
 9564 tomcat    15   0  249m  34m  11m S  0.0  3.4   0:11.79 java
 9636 root      18   0 54804  24m 9784 S  0.0  2.4   0:02.58 httpd
26139 apache    15   0 57520  23m 5996 S  0.0  2.3   0:00.15 httpd
16264 apache    18   0 56984  23m 6104 S  0.0  2.2   0:00.21 httpd
24294 apache    15   0 57512  22m 5864 S  0.0  2.2   0:00.17 httpd
30231 apache    15   0 57272  22m 5748 S  0.0  2.2   0:00.97 httpd
32257 apache    15   0 57512  22m 5416 S  0.0  2.2   0:00.46 httpd
19947 apache    15   0 57512  22m 5320 S  0.0  2.2   0:00.19 httpd
26148 apache    15   0 56688  22m 5992 S  0.0  2.2   0:00.40 httpd
14039 apache    18   0 57000  22m 5492 S  0.0  2.2   0:00.33 httpd
 6051 apache    15   0 57736  22m 5128 S  0.0  2.2   0:00.07 httpd
19937 apache    15   0 56992  22m 5400 S  0.0  2.2   0:00.14 httpd
 5200 apache    15   0 56984  22m 5376 S  0.0  2.2   0:00.23 httpd
10001 apache    15   0 55636  21m 5636 S  0.0  2.1   0:01.05 httpd
11734 apache    15   0 56712  21m 4548 S  0.0  2.1   0:00.46 httpd
18193 apache    15   0 55100  20m 5508 S  0.0  2.0   0:00.24 httpd
14036 apache    15   0 55128  20m 5412 S  0.0  2.0   0:00.10 httpd
 3981 apache    15   0 55128  19m 4860 S  0.0  1.9   0:00.16 httpd
 7588 apache    18   0 55112  19m 4848 S  0.0  1.9   0:00.04 httpd
19768 apache    16   0 55112  19m 4844 S  0.0  1.9   0:00.02 httpd
 5827 apache    15   0 55112  19m 4828 S  0.0  1.9   0:00.05 httpd
29774 apache    15   0 55112  19m 4544 S  0.0  1.9   0:00.11 httpd
 6064 apache    15   0 55112  19m 4536 S  0.0  1.9   0:00.02 httpd
16253 apache    17   0 55116  19m 4532 S  0.0  1.9   0:00.01 httpd
19922 apache    15   0 55112  19m 4540 S  0.0  1.9   0:00.02 httpd
10010 apache    15   0 55100  19m 4524 S  0.0  1.9   0:00.01 httpd
18195 apache    18   0 55104  18m 3872 S  0.0  1.8   0:00.02 httpd
 7361 mysql     15   0  134m  18m 6400 S  0.0  1.8   0:10.18 mysqld
19921 apache    15   0 55088  18m 3588 S  0.0  1.8   0:00.02 httpd
11967 apache    15   0 55080  18m 3584 S  0.0  1.8   0:00.00 httpd
13813 apache    15   0 55088  18m 3576 S  0.0  1.8   0:00.14 httpd
23898 apache    18   0 54968  17m 3212 S  0.0  1.7   0:00.00 httpd
13792 apache    15   0 54968  17m 3088 S  0.0  1.7   0:00.00 httpd
14083 apache    15   0 54968  17m 3088 S  0.0  1.7   0:00.00 httpd
32547 apache    15   0 54944  17m 2924 S  0.0  1.7   0:00.00 httpd
13787 apache    15   0 54944  17m 2908 S  0.0  1.7   0:00.00 httpd
 3623 apache    17   0 54944  17m 2908 S  0.0  1.7   0:00.00 httpd
16024 apache    19   0 54944  17m 2860 S  0.0  1.7   0:00.00 httpd
13791 apache    15   0 54944  17m 2864 S  0.0  1.7   0:00.00 httpd
20090 named     19   0  110m 4244 2056 S  0.0  0.4   0:01.55 named
 9369 cyrus     15   0 15904 3048 1720 S  0.0  0.3   0:00.24 cyrus-master
32735 root      15   0  8852 2888 2116 T  0.0  0.3   0:00.00 mysql

O erro intermitente que recebo usando o Firefox é:

  Server not found

Firefox can't find the server at XXXXXXX.co.

    *   Check the address for typing errors such as
          ww.example.com instead of
          www.example.com

    *   If you are unable to load any pages, check your computer's network
          connection.

    *   If your computer or network is protected by a firewall or proxy, make sure
          that Firefox is permitted to access the Web.

E em outros navegadores, a página é carregada por cerca de 10 minutos, mas nunca aparece. A única maneira de resolvê-lo é fechar o navegador completamente, pois o erro parece estar salvo no cache.

Alguém tem alguma ideia?

Muito obrigado.

    
por Kit 08.02.2011 / 15:37

2 respostas

4

Para um servidor com apenas 1GB de memória RAM, você deve estar redimensionando o número de processos httpd que você está executando (tente uma inicialização de 4 e um máximo de 12). Você também precisa ativar o swap, já que o assassino da OOM provavelmente está se divertindo muito nessa caixa, o que sem dúvida está causando muitos problemas.

No apache, StartServers controla o número de servidores a serem iniciados e MaxClients controla o número máximo de processos. Para swap, você precisará criar uma partição de swap, executar mkswap nela, colocá-la no fstab e executar swapon -a . Sua distribuição provavelmente tem um passo a passo que você pode seguir.

    
por 08.02.2011 / 15:49
0

Obrigado pelas respostas. Eu encontrei a causa do erro.

Estamos usando o Pear Mailer, que usa uma fila para empilhar e-mails prontos para envio com uma tarefa agendada. Houve um erro no script Pear que estava sendo chamado em todas as ações do nosso site (fazendo posts, enviando mensagens etc.). A Pear sofreu uma falha que, por sua vez, causou a falha do navegador, resultando nos erros acima.

Desabilitar o Pear resolveu o problema e, ao ajustar o código, ele funcionou novamente.

Os vários processos do httpd foram causados por instâncias com falha do Pear Mailer. Demorou tanto tempo para encontrar o problema, pois nunca pensamos que Pear Mailer poderia causar tal resposta.

Obrigado novamente por sua ajuda.

Chris.

    
por 09.02.2011 / 10:25