Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/05/2011, 06:03
AsGk
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 10 años, 6 meses
Puntos: 0
Apache usa mucha memoria del kernel (limite kmemsize)

Hola! Os explico mi problema...
He estado recibiendo muchas peticiones en mi servidor, puede que incluso un ataque DoS. El problema es que cuando tengo más de 30 conexiones simultaneas en httpd me alcanza el límite kmemsize en /proc/user_beancounters de mi VPS. En cuanto al uso de memoria en general, no llega ni a la mitad.

Este es mi /proc/user_beancounters:
Version: 2.5
uid resource held maxheld barrier limit failcnt
10002235: kmemsize 13980579 49262800 49029120 54476800 6629803
lockedpages 0 0 344 344 0
privvmpages 90054 225409 524288 550502 0
shmpages 3987 23432 32768 32768 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 75 190 256 256 0
physpages 11974 98463 0 9223372036854775807 0
vmguarpages 0 0 262144 9223372036854775807 0
oomguarpages 11985 98474 262144 9223372036854775807 0
numtcpsock 28 288 288 288 0
numflock 9 41 224 246 0
numpty 1 3 32 32 0
numsiginfo 0 75 512 512 0
tcpsndbuf 349616 2521352 2449232 3598712 1294532361
tcprcvbuf 272016 2454336 2449232 3598712 34
othersockbuf 211848 768960 744366 1481926 2926902
dgramrcvbuf 0 17504 844366 844366 0
numothersock 125 288 288 288 19
dcachesize 883599 1535405 7299072 8110080 0
numfile 2490 5613 6000 6000 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 35 96 96 96 22

Y mi VPS:
CentOS 5.4 64bit
2 GB RAM

He tenido que configurar MaxClients 30 en Prefork MPM de Apache para no alcanzar ese límite (en lugar del 150 por defecto), pero creo que es muy poco para la capacidad de mi VPS, tengo siempre mucha RAM libre y no sé por qué me quedo sin memoria en el kernel.

EDITO: También he probado a subir MaxClients pero a reducir MaxRequestsPerChild (ya que estos procesos son los que afectan a la memoria del kernel) a valores muy bajos. También me funciona para que no colapse la memoria. ¿Qué es mejor idea, bajar MaxClents o MaxRequestsPerChild?

Última edición por AsGk; 01/05/2011 a las 06:43