PostgreSQL CPU가 낮은데 요청이 멈추면 잠금 대기 확인
질의가 계산 중이 아니라 잠금을 기다리면 응답이 늦어도 CPU가 낮을 수 있습니다. PostgreSQL의 pg_locks와 세션 정보를 통해 획득하지 못한 잠금과 관련 작업을 조사합니다. 서버 사양을 먼저 높이면 원인이 남을 수 있습니다.

- 낮은 CPU가 충분한 처리 여유를 의미하지는 않습니다
- 기다리는 세션과 막는 세션을 연결합니다
- 해결은 작업 소유자와 영향 범위를 확인한 뒤 합니다
낮은 CPU가 충분한 처리 여유를 의미하지는 않습니다
질의가 계산 중이 아니라 잠금을 기다리면 응답이 늦어도 CPU가 낮을 수 있습니다. PostgreSQL의 pg_locks와 세션 정보를 통해 획득하지 못한 잠금과 관련 작업을 조사합니다. 서버 사양을 먼저 높이면 원인이 남을 수 있습니다.
기다리는 세션과 막는 세션을 연결합니다
같은 DB와 관계 객체, 트랜잭션 시작 시각을 비교해 어떤 작업이 대기를 만드는지 찾습니다. 화면에 오래 보이는 세션을 무조건 종료하지 않습니다. 중요한 배치나 마이그레이션이 실제 잠금 보유자일 수 있습니다.
해결은 작업 소유자와 영향 범위를 확인한 뒤 합니다
취소와 연결 종료의 영향이 다르므로 담당자와 롤백 가능성을 확인합니다. 문제 해소 뒤에는 트랜잭션 범위와 유휴 상태를 줄일 방법을 검토합니다. 단지 대기 세션 수가 줄었다는 것으로 사용자 요청까지 복구됐다고 판단하지 않습니다.
서버 운영 실행 전 점검표
- 낮은 CPU가 충분한 처리 여유를 의미하지는 않습니다
- 기다리는 세션과 막는 세션을 연결합니다
- 해결은 작업 소유자와 영향 범위를 확인한 뒤 합니다
이 가이드의 근거 문서
출처 확인일: 2026-11-04. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법