Acumulación RAM en servidor dedicado. Ayuda solicitada.

Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Picasso

Épsilon
Desde
7 Ene 2011
Mensajes
974
Buenas, tengo un problema con un servidor dedicado:

El servidor va acumulando ram a medida que avanzan los días.
No hay más consumo de ram cuando más visitantes hagan uso de las webs alojadas en el servidor, sino a medida que avanzan los días.

Por otro lado, el servidor nginx lanza aleatoriamente errores 500 Internal Server Error mientras navegas por cualquiera de las webs alojadas en el mismo independientemente de la cantidad de ram en uso.

Le haré un buen regalo a quien me ayude a solucionarlo.
Gracias.
 

HostingTex

Beta
SEO
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
21 Feb 2014
Mensajes
57
Cuando lanza errores 500 Internal es problema del colapso, uso de UIs. Procesos entrantes, que tipo de configuracion php tienes?
 

shadowhck

Lambda
Programador
Verificado por Whatsapp
Desde
18 Ago 2009
Mensajes
2.772
Es normal que un servidor aga uso de toda la RAM o la mayoría, mientras no muestre errores de falta de memoria no deberia existir problema. Ahora, lo de Nginx, seria bueno que mostraras el error_log con los errores 500.
 

estudiseno

Eta
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
26 Ago 2013
Mensajes
1.498
O que te este tirando la db abajo... Pero bueno... Pinta aquí un top, free -m, y ya pues di si tiene nginx como proxy o como servidor en plesk. Pinta también la config de mysql.

De todas maneras toda esa RAM usada puede ser por cache
 

snake8d2

Gamma
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Jun 2012
Mensajes
162
Dr web? jajaja.
Tenés demasiadas cosas instaladas ahi...
Seguramente la mayoria, innecesarias.
Estaría bueno que hagas un
Insertar CODE, HTML o PHP:
ps aux
Para ver la lista completa.
 

luishdez

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Jun 2014
Mensajes
32
Bueno mi primera recomendación, (Aunque entiendo que es complicado de aplicar), es que si tienes un mínimo de conocimiento y usas tu solo el servido, es que te deshagas de Plesk. Y uses una configuración básica nginx php-fpm , Eso te quitará de muchos problemas si empiezas a tener algo de tráfico decente.

En el estado actual, cosas que tendrías que ver

  • Logs de error nginx.
  • Logs de error apache si usas nginx como proxy de apache. (viendo tu captura es lo más probable)
  • Logs de mysql - normalmente /var/log/mysqld.log
  • Logs de php-fpm si usas nginx con php-fpm - normalmente /var/log/php-fpm/...
  • Configuración de mysql - normalmente /etc/my.cnf
  • Comando: ulimit -a , para ver los limites del SO


Haciendo muchos supuestos. El uso de memoria tal como se muestra puede ser normal de cacheo del SO, no significa que esté ocupada 100%.
la carga de tareas en tu captura es bastante baja "0.05" , podría decirse que es el factor más importante que debes fijarte, ya que consumir tanta ram es complicado que tengas problemas a no ser que uses Servicios especiales que hagan mucho uso de Ram (Redis, mongodb, varnish ... ) no creo que sea tu caso.

Más probable: Si tus webs van bien y al rato mal y luego al momento vuelven a cargar… y así de forma irregular. Casi seguro es un problema de concurrencia, cuando varios usuarios entran a la vez si tus webs si: no están bien programadas, tienen un uso recurso altos por cada visita, o tienes mucho tráfico, se forma mucha carga. Apache no puede servir y nginx al estar como proxy dice que no hay Backend y muestra error 500.

Solución: . Revisa la configuración de apache para subir el número máximo de clientes, si sigue igual, intenta buscar algún sistema de cacheo para tus webs tipo Varnish (será complicado con plesk), o analiza la programación para ver que consume tanto.

Menos probable: Si tus webs van bien, y van a peor de forma lineal y no hay más solución que reiniciar el servidor/servicios, es por que algún servicio tiene algún "leak", por ejemplo una programación que que deja conexiones abiertas indefinidas. O no hay limites de cache en mysql etc.

Solución: Buscar que app está causando problemas, revisar configuración y logs.
 
Última edición:

Picasso

Épsilon
Desde
7 Ene 2011
Mensajes
974
He conseguido solucionarlo con la ayuda de un colega (le enviare el regalito) bajando el timeout de 60 segundos a 20... de esta manera, los threads se cerrarán antes ( es una manera indirecta de aumentar el número máximo de conexiones... liberándolas antes ), max server y demás parámetros de la configuración del servidor.

Muchísimas gracias a todos y sobre todo a luishdez por su respuesta tan elaborada. Os doy me agrada a todos.
Cierro el tema. Saludos.
 
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.