DBAtlas · Атлас эксплуатации баз данных

53200: out_of_memory

PostgreSQL

Что это значит?

Сервер не смог выделить память, необходимую для операции. Обслуживающий процесс (backend) или весь сервер испытывает нехватку памяти.

Почему возникает?

Слишком большие work_mem/maintenance_work_mem, умноженные на высокую параллельность, слишком много операций hash/sort в одном запросе, чрезмерное число подключений, утечка памяти или давление со стороны OOM killer операционной системы.

Как исправить

Проверьте контекст памяти в журнале сервера и следы OOM killer. Задавайте work_mem разумно с учётом числа запросов и параллельности (она выделяется отдельно для каждой сортировки/хеширования). Ограничьте число подключений с помощью пулинга. Проверьте настройки памяти/overcommit операционной системы. Оптимизируйте тяжёлые запросы, чтобы снизить их потребность в памяти.

Открыть в DBAtlas →

Ещё по этой СУБД