Ir al contenido principal

Mi hosting consume todos los recursos sin motivo aparente: procesos PHP colgados como causa frecuente

Escrito por Javier Galeote

El síntoma

  • De repente, tu web va lenta o cae intermitentemente con errores 503/500.

  • En cPanel, la sección Uso de recursos muestra CPU al máximo y procesos en ejecución muy por encima de lo habitual.

  • El consumo de RAM aparece elevado aunque no hayas hecho cambios recientes y aunque el tráfico de la web sea normal.

  • Otras webs y cuentas del mismo cliente, o que dependen del mismo plan, funcionan bien.

Por qué ocurre

Cada visita a tu web lanza un proceso PHP que debe terminar en pocos segundos. Cuando un script ejecuta una consulta lenta a base de datos, llama a una API externa que no responde, o se queda en bucle, ese proceso PHP se cuelga y consume CPU/RAM sin completar nunca.

Si los procesos colgados se acumulan (porque cada nueva visita o cron lanza uno nuevo), la cuenta llega rápido a su límite de recursos y empieza a devolver 503. El servidor está sano, pero tu cuenta está saturada por procesos que nunca terminan.

Cómo identificarlo

En cPanel > Métricas > Procesos o, según versión, Uso de recursos, observa la lista de procesos PHP activos. Indicios típicos:

  • Procesos PHP iniciados hace horas que siguen vivos.

  • Varios procesos atacando la misma URL (p. ej. wp-admin/admin-ajax.php, wp-cron.php, una página del backoffice de PrestaShop o un endpoint personalizado).

  • El gráfico de CPU de las últimas horas muestra una línea plana en el techo en lugar de picos y valles.

En la pestaña MySQL Processes de cPanel suelen verse, en paralelo, muchas consultas en estado Query con tiempos de ejecución elevados, lo que confirma que las llamadas PHP están provocando consultas lentas.

Solución inmediata

El usuario final no puede matar procesos PHP desde cPanel. Si necesitas liberar la cuenta ahora mismo, contacta con soporte y dinos:

  • Tu dominio o cuenta afectada.

  • Si has detectado un script o sección concreta que dispara los procesos (cron, backoffice de un módulo, plugin específico, importación de catálogo, etc.).

Desde nuestro lado liberamos los procesos colgados y la cuenta vuelve a la normalidad en cuestión de segundos. Lo verás de inmediato en las gráficas de cPanel: la CPU y el número de procesos caen drásticamente.

Solución de fondo

Matar los procesos solo recupera el servicio: si el código que los origina sigue ahí, volverán a aparecer. Esto suele tener su raíz en la aplicación y no en el hosting, por lo que la corrección la debe hacer el desarrollador o agencia que mantiene la web:

  • Optimizar consultas a base de datos (índices, paginación, evitar SELECT * en tablas grandes).

  • Revisar crones que se solapan: si un cron tarda más en ejecutarse que su intervalo, terminas con varios crones simultáneos.

  • Detectar plugins o módulos que llaman a APIs externas sin timeout bajo.

  • Limitar el uso de admin-ajax.php en WordPress (plugins de seguridad, builders pesados).

  • Subir la versión de PHP cuando proceda y limpiar caché de OPcache tras los cambios.

Cuándo no es esto

  • Si el uso elevado se debe a bots o scrapers agresivos, el patrón es distinto: ráfagas de peticiones con IPs muy variadas y consumo de transferencia alto. Tenemos artículos específicos para ese caso.

  • Si todas las webs del servidor van mal a la vez, no es tu cuenta: revisa status.tropicalserver.com y nuestro artículo sobre actualizaciones críticas de cPanel/WHM.

¿Ha quedado contestada tu pregunta?