Устранение ошибки при выполнении запроса Exception Memory limit (total) exceeded
Статья создана
Обновлена 17 октября 2025 г.
Описание проблемы
При выполнении запроса в ClickHouse® возникает ошибка:
DB::Exception: Memory limit (total) exceeded: would use XX.XX GiB (attempt to allocate chunk of ******** bytes), maximum: **.* GiB. (MEMORY_LIMIT_EXCEEDED), Stack trace (when copying this message, always include the lines below)
Решение
Такая ошибка говорит о том, что запрос к базе превышает установленный для пользователя лимит оперативной памяти. Увеличить его можно в Консоли управленияmax_memory_usage.
Важно
Лимит max_memory_usage не должен превышать параметр max_server_memory_usage.
Если в кластере включено управление пользователями через SQL, то можно задать этот параметр:
- Для сессии, через
set max_memory_usage; - Для всех пользователей по умолчанию, создав один профиль настроек
.
Если проблема осталась
Если вышеописанные действия не помогли решить проблему, создайте запрос в техническую поддержку
- Идентификатор кластера Yandex Managed Service for ClickHouse®.
- Код запроса к базе.
- Полный текст сообщения об ошибке.