Ошибка PostgreSQL 53200 out_of_memory | PGLens

Ошибка PostgreSQL 53200 (out_of_memory)

Ошибка 53200 в PostgreSQL (out_of_memory) относится к классу 53 (Insufficient Resources) и означает, что серверу не удалось выделить память для выполнения операции. За этим кодом скрываются два разных сообщения: out of memory – нехватка оперативной памяти, и out of shared memory – исчерпание разделяемой памяти под блокировки. Причина и решение у них отличаются.

Частые причины

  • Завышенный work_mem при большом числе параллельных запросов: каждая сортировка и хеш берут память отдельно.
  • Тяжелый запрос с крупными сортировками, хешами или агрегацией по большому объему.
  • Нехватка физической памяти на сервере или активное вытеснение в swap.
  • Сообщение out of shared memory – превышен лимит блокировок, заданный max_locks_per_transaction (транзакция затрагивает слишком много объектов).

Как исправить ошибку 53200

  1. Определите по тексту сообщения, какой это случай – нехватка RAM (out of memory) или блокировок (out of shared memory).
  2. При out of memory снизьте work_mem, чтобы ограничить расход памяти на операцию (можно временно для сессии):
    SET work_mem = '64MB';
  3. Найдите запрос, вызывающий всплеск потребления, и оцените его план:
    EXPLAIN ANALYZE SELECT ...;
  4. При out of shared memory увеличьте лимит блокировок в postgresql.conf – изменение требует перезапуска сервера:
    max_locks_per_transaction = 128
  5. Проверьте общий расход памяти на уровне ОС (free -m, top); при системном OOM процесс может быть завершен ядром, после чего сервер уходит в восстановление.

Нехватка памяти обычно вызвана конкретными тяжелыми запросами, но в момент разбора инцидента их уже не видно в системных представлениях. PGLens ранжирует запросы по влиянию на ресурсы и хранит историческую динамику потребления, что дает структурированную картину для поиска операций, вызвавших исчерпание памяти.

Проверьте PGLens
на своих данных

Подключите PGLens к своим экземплярам и получите структурированную картину нагрузки вместо разрозненных данных из логов и системных представлений.

  • Картина нагрузки по подключенным экземплярам в динамике
  • Ранжированный список самых тяжелых запросов
  • Моделирование индексов с расчетом выигрыша в стоимости запроса

    * - обязательные поля

    Напишите нам
    Удобнее с телефона?
    Сканируйте QR