sql >> Base de Datos >  >> RDS >> PostgreSQL

Uso de la CPU al 100 % causado por una consulta de postgres desconocida

Tuve un problema similar. Se debió a que algunas transacciones se atascaron y se ejecutaron durante mucho tiempo. Por lo tanto, la utilización de la CPU estuvo al 100% todo el tiempo. El siguiente comando ayudó a encontrar las conexiones que se ejecutan durante más tiempo:

SELECT max(now() - xact_start) FROM pg_stat_activity
                           WHERE state IN ('idle in transaction', 'active');

Este comando muestra el tiempo transcurrido desde que se está ejecutando una conexión. Este tiempo no debe ser mayor a una hora. Entonces, matar la conexión que se estaba ejecutando desde hace mucho tiempo o se atascó en cualquier punto, funcionó para mí. Seguí esta publicación por monitorear y resolver mi problema. Publicar incluye muchos comandos útiles para monitorear esta situación.