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

CPU 100 % brug forårsaget af ukendt postgres-forespørgsel

Jeg havde et lignende problem. Det skyldtes - nogle transaktioner sad fast og kørte i lang tid. CPU-udnyttelsen var således på 100% hele tiden. Følgende kommando hjalp med at finde ud af, hvilke forbindelser der kører i længst tid:

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

Denne kommando viser tiden siden, hvornår en forbindelse kører. Denne tid bør ikke være længere end en time. Så det virkede for mig at dræbe forbindelsen, som kørte fra lang tid eller sidder fast på et hvilket som helst tidspunkt. Jeg fulgte dette indlæg for at overvåge og løse mit problem. Opslå indeholder masser af nyttige kommandoer til at overvåge denne situation.




  1. Hvordan får man den primære nøgle til sidst opdaterede post i MYSQL?

  2. JDBC giver MySQL datetime i UTC

  3. Returnerede min markør i min oracle PL/SLQ funktion, men ikke alle rækker returneres. Kan du kun returnere 1 række i en Oracle pl/sql-funktion?

  4. FEJL 1356 (HY000):Se 'mysql.user' referencer ugyldige tabeller eller kolonner eller funktion(er) eller definerer/ankalder af visning mangler rettigheder til at bruge dem