Problemas de Carga de CPU con Plesk - Soluciones?

Gridalo

Kappa
Verificado por Whatsapp
Desde
6 May 2012
Mensajes
2.631
Hola Amigos.

Llevo un tiempo teniendo problemas con lo que creo que es Plesk el causante, resulta que cada 4h aproximadamente mi servidor de 32gb de ram se pone al 100% de carga de cpu y me toca reiniciar el servidor, en ese momento todo funciona bien durante otras 4 horas hasta que vuelve a psar (antes no me pasaba esto y no toque nada)...

Estuve leyendo que era un problema con un cron de PHP5 y que era mejor actualizarlo a la ultima version, despues de hacerlo me ocurre lo mismo pero cada hora... se pone la carga de la CPU al 100% y no veo nada haciendo top, es mas si con top de normal veo el consumo de cpu de todos los procesos... al ejecutar top cuando esta al 100% todos los procesos ocupan 0% de CPU....

Alguien sabria orientarme para saber que tengo que hacer? al final tuve que reinstalar todo y estoy de nuevo con la version 5.3 de PHP que me funciona mejor (aun que se me peta el servidor cada 4h) :S

Un saludo!
 

shadowhck

Lambda
Programador
Verificado por Whatsapp
Desde
18 Ago 2009
Mensajes
2.772
Revisa logs, un servidor tiene que estar en linea las 24 horas, los reinicios cada 4 horas no son aceptables, y menos cuando se trata de hospedar sitios web.

En cuanto a experiencia, PHP 5.4 es más rápido y consume menos recursos que PHP 5.3.

Toma una captura de top, no creo que este en un 100% cuando ningun proceso lo utiliza. Podría ser algun bottleneck o problema de io.
 

Gridalo

Kappa
Verificado por Whatsapp
Desde
6 May 2012
Mensajes
2.631

Mire los logs de apache y de mysql y no vi nada como para que me ponga la carga de cpu al 100%, sabes de algun log mas que podria tener informacion sobre lo que ocurre en determinados momentos?
 

shadowhck

Lambda
Programador
Verificado por Whatsapp
Desde
18 Ago 2009
Mensajes
2.772
Revisa el iowait mientras el uso del CPU es 100%.

vmstat 1

=====
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 32768 15124 0 180612 0 0 1 2 0 0 1 0 99 0
0 0 32768 15116 0 180612 0 0 0 0 0 320 0 0 99 0
0 0 32768 15116 0 180612 0 0 0 0 0 310 0 0 100 0
0 0 32768 15048 0 180672 0 0 24 0 0 322 0 0 99 1
 

Gridalo

Kappa
Verificado por Whatsapp
Desde
6 May 2012
Mensajes
2.631

Ya entoncre el problma pero desgraciadamente no encontre la solucion....

Despues de muchos dolores de cabeza llegue a la conclusion de que es por un culpa de un cron que ejecuta lo siguiente para limpiar las sesiones caducadas de PHP:

(cada 30 minutos)

[ -x /usr/lib64/plesk-9.0/maxlifetime ] && [ -d /var/lib/php/session ] && find /var/lib/php/session -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib64/plesk-9.0/maxlifetime) ! -execdir fuser {} \; -delete

En la pagina de plesk proponen como solucion eliminar de este cron la siguiente cadena ! -execdir fuser {} \; dejandolo asi:

[ -x /usr/lib64/plesk-9.0/maxlifetime ] && [ -d /var/lib/php/session ] && find /var/lib/php/session -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib64/plesk-9.0/maxlifetime) -delete

Sin embargo sigue poniendose la cpu al 100%, para evitar el reincio cada 4h y ya desesperado decidi borrar el cron completamente para que no limpie las sesiones (se que es un problema) pero gracias a esto mi servidor tiene la cpu al 2% desde hace mas de 5h.

El problema es que ahora aun que va de lujo... el no eliminar las sesiones puede traer problemas a no muy largo plazo por que eso va ocupando un sitio tremendo....

Sabrias alguna manera de eliminarlas sin usar el cron que tanto consume?

En el foro de plesk proponen una solucion pero no termino de atreverme a hacerla puesto que no termino de entender lo que hace realmente:

[ -n "${sessionSavePath}" ] && rm -f ${sessionSavePath}/* || echo "Set sessionSavePath first"

No se si tengo que ponerlo tal cual o en sesionsavepath poner el directorio real :S

Un saud y gracias
 
Última edición:
Desde
16 Oct 2010
Mensajes
3.090
Umm lo de las sesiones no es mucho problema, aunque es muy raro que se generen tantísimas sesiones como para causar problemas a la hora de limpiarlas, calculo que tu problema es que el disco duro es muy lento y por eso colapsa.

Intenta hacer el cron una vez al día o bien elimina el cron y limpia las sesiones con tmpwach que es más sencillo y puedes hacerlo cada hora o una vez al día o cada más tiempo, no veo problema en dejar las sesiones ahí guardadas, algunos ni las borran :/
 

Gridalo

Kappa
Verificado por Whatsapp
Desde
6 May 2012
Mensajes
2.631

Pues la verdad que ami tambien me extraba al principio que fuera por borrar las sesiones pero desde que comente el cron para que no funcionara mi servidor va como un tiro! (nunca fue tan rapido)... la cosa es que me a pasado desde hace una semana mas o menos... antes no me pasaba nunca....

Por otro lado tengo 2tb de espacio asi que podria tener MUUUUUUUCHAS sesiones en el peor de los casos supongo....

Por mi cuenta encontre este comando find . -type f -exec rm {} \; y estoy pendiente de probarlo... lo que no se si dentro de var/lib/php5 hay mas carpetas o solo las sessiones sin mas directorios...

Igualmente como podria borrar las sessiones con tmpwach? no conocia ese comando.... voy a investigar sobre ello.

Muchas gracias!
 

LuisHM

Gamma
Programador
Desde
21 Mar 2014
Mensajes
170
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Eso siempre pasa con Plesk ya que convierte la RAM en memoria de acceso inmediato a funciones pero no quiere decir que la esté usando. A mi me pasaba siempre eso, en cPanel no pasa eso. saludos!