Alta utilização de memória pelo apache após o comutador do servidor

2

Recentemente foi movido para um novo servidor com o CentOS 5.4 e é de 64 bits em oposição ao antigo 32 bits. Tem dois processadores agora e um pouco mais de memória.

Eu percebi, porém, que o apache tem corroído a memória e, às vezes, faz com que o sistema troque.

A configuração atual tem Nginx 1.0.8 na frente para servir conteúdo estático e o Apache 2.2 para servir conteúdo dinâmico (PHP). Eu também tenho o APC instalado. O que poderia estar causando esse pico de uso de memória? Eu tentei ajustar o arquivo de configuração para o apache, mas funcionaria se eu virar certas diretivas para um número absurdamente baixo. Antes na máquina antiga eu era capaz de usar as configurações padrão com não mais que ~ 260MB de uso de memória para todos os processos do apache:

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

Mas agora a nova máquina está usando isso com alto uso de memória, pode chegar a 600MB +:

<IfModule prefork.c>
StartServers       5
MinSpareServers    5
MaxSpareServers   10
MaxClients        20
MaxRequestsPerChild  500
</IfModule>

As configurações de APC são as seguintes:

extension = apc.so
apc.enabled=1
apc.shm_segments=1
apc.optimization=0
apc.shm_size=64M
apc.ttl=0
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.cache_by_default=1

Alguma idéia do porquê isso está acontecendo?

Edit: Mais algumas informações do processo

top - 21:18:45 up 10 days,  6:20,  4 users,  load average: 0.00, 0.04, 0.06
Tasks: 103 total,   2 running, 101 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.0%sy,  0.0%ni, 98.8%id,  0.2%wa,  0.0%hi,  0.7%si,  0.0%st
Mem:   1541280k total,  1479804k used,    61476k free,    99812k buffers
Swap: 10482404k total,    25548k used, 10456856k free,   725180k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                     
 5613 jenkins   17   0 1144m 184m  13m S  0.7 12.3   2:05.94 java                                                                                                                                         
25306 apache    15   0  541m 125m  69m S  0.0  8.3   0:10.44 httpd                                                                                                                                        
25308 apache    15   0  533m 118m  67m S  0.0  7.9   0:11.01 httpd                                                                                                                                        
25356 apache    16   0  524m 112m  69m S  0.0  7.5   0:08.84 httpd                                                                                                                                        
25305 apache    15   0  510m 103m  69m S  0.0  6.9   0:11.58 httpd                                                                                                                                        
25309 apache    16   0  498m  92m  69m S  0.0  6.1   0:10.35 httpd                                                                                                                                        
25307 apache    15   0  499m  90m  67m S  0.0  6.0   0:09.59 httpd                                                                                                                                        
 9759 mysql     15   0  428m  83m 6920 S  0.0  5.6  11:10.01 mysqld                                                                                                                                       
16121 apache    15   0  494m  68m  48m S  0.0  4.6   0:05.50 httpd                                                                                                                                        
 2945 user      15   0  659m  18m 6364 S  0.0  1.2   0:00.53 node                                                                                                                                         
25303 root      15   0  425m  12m 6176 S  0.0  0.8   0:00.07 httpd                                                                                                                                        
 2944 user      15   0  636m  10m 2288 S  0.0  0.7   0:00.11 node  



[user@server~]# ps o rss,command -u apache
  RSS COMMAND
70236 /usr/sbin/httpd
105860 /usr/sbin/httpd
128096 /usr/sbin/httpd
92888 /usr/sbin/httpd
121288 /usr/sbin/httpd
94768 /usr/sbin/httpd
115644 /usr/sbin/httpd
    
por lamp_scaler 08.10.2011 / 10:35

1 resposta

2

Se você vir o uso de memória aumentando com o tempo, pode ser um vazamento de memória em algum lugar. Você já tentou reduzir o parâmetro "MaxRequestsPerChild" - tente ajustá-lo ainda mais dentro de um ambiente controlado para ver se a memória total parar de crescer. Em caso afirmativo, você provavelmente está vendo seu código PHP, o interpretador PHP ou possivelmente o módulo de cache PHP com vazamento de memória.

Se você vir um vazamento de memória, tente algumas das sugestões dadas para esta questão sobre como depurar um vazamento de memória com o Apache / PHP .

    
por 08.10.2011 / 15:47