PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Utilizzo della CPU al 100% causato da query postgres sconosciute

Ho avuto un problema simile. Era dovuto a - alcune transazioni si erano bloccate e funzionavano per molto tempo. Pertanto, l'utilizzo della CPU era sempre al 100%. Il comando seguente ha aiutato a scoprire le connessioni in esecuzione da più tempo:

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

Questo comando mostra l'ora da quando una connessione è in esecuzione. Questa volta non dovrebbe essere maggiore di un'ora. Quindi uccidere la connessione che era in esecuzione da molto tempo o bloccata in qualsiasi momento, ha funzionato per me. Ho seguito questo post per monitorare e risolvere il mio problema. Post include molti comandi utili per monitorare questa situazione.