Ошибка CUDA out of memory означает, что задача не поместилась в видеопамять карты. Оперативная память компьютера тут не помогает. Лечится снижением разрешения и batch size, включением режимов экономии VRAM, отключением лишних дополнений и апскейлом по частям. Если карта слишком слабая для выбранной модели, честнее сменить модель или уйти в облако.
Что на самом деле говорит эта ошибка
Сообщение появляется, когда библиотека пытается выделить блок памяти на видеокарте и не находит свободного места. Ключевое слово здесь именно видеопамять, VRAM. Тридцать два гигабайта системной оперативки не спасут: модель считается на GPU и живёт в его собственной памяти. Поэтому советы вроде «добавь оперативки» или «увеличь файл подкачки» в этом контексте почти всегда бесполезны.
Второй важный момент: память занимает не только сама модель. В VRAM одновременно лежат веса checkpoint, декодер, все подключённые дополнения, промежуточные тензоры процесса генерации, буферы под управляющие сети и, если вы работаете в графическом интерфейсе, ещё и то, что откусила операционная система под рабочий стол. Отсюда типичный парадокс: модель заявлена как помещающаяся в вашу карту, а генерация всё равно падает.
Третье: расход растёт нелинейно от разрешения. Удвоение стороны кадра увеличивает площадь вчетверо, а промежуточные буферы внимания растут ещё быстрее. Именно поэтому кадр, который спокойно считается в базовом разрешении, валит систему при попытке сделать его вдвое больше.
| Когда падает | Что перегружает память | Первое действие |
|---|---|---|
| Сразу при загрузке модели | Слишком тяжёлый checkpoint для этой карты | Взять модель меньшего размера или квантованную |
| На старте генерации | Разрешение или batch size | Вернуться к базовому разрешению, batch 1 |
| На этапе апскейла | Огромный холст целиком в памяти | Апскейл по частям с перекрытием |
| После нескольких генераций подряд | Фрагментация и незакрытые буферы | Выгрузить модель, перезапустить процесс |
| При включении управляющей сети | Дополнительные модели поверх основной | Оставить одну сеть, снизить разрешение |

Шаг первый: разрешение и batch size
Это две ручки, которые решают большинство случаев. Batch size больше единицы означает, что несколько изображений считаются одновременно и все промежуточные данные лежат в памяти параллельно. На картах со скромным объёмом VRAM держите batch size равным единице всегда. Если нужно много вариантов, увеличивайте число последовательных прогонов, а не размер пакета: результат тот же, память не удваивается.
С разрешением та же логика. Генерируйте в базовом разрешении своей модели, а крупный формат получайте отдельным этапом увеличения. Попытка сразу выдать большой кадр не только съедает память, но и портит композицию дублированием объектов. Если базовое разрешение всё равно не влезает, попробуйте прямоугольный формат с меньшей общей площадью вместо квадрата: площадь важнее, чем длина конкретной стороны.
Скрытые потребители памяти
Проверьте, что у вас не висят одновременно несколько подключённых дополнений, управляющих сетей и модулей исправления деталей. Каждый добавляет свои веса в VRAM. Отключите всё лишнее и включайте по одному, наблюдая за расходом. Часто выясняется, что падение вызывает не сама генерация, а забытая включённой управляющая сеть с прошлой сессии.
Шаг второй: режимы экономии VRAM
Все популярные оболочки умеют работать в экономных режимах. Общая идея одинакова: держать в видеопамяти только ту часть модели, которая нужна прямо сейчас, а остальное выгружать в системную память. Это замедляет генерацию, иногда существенно, но позволяет запускать модели, которые иначе не помещаются вовсе.
Обычно предлагается несколько уровней. Умеренный режим выгружает отдельные блоки и почти не бьёт по скорости. Агрессивный режим держит на карте минимум и работает заметно медленнее, зато запускается почти везде. Начинайте с умеренного и переходите к агрессивному только если умеренного не хватило. Отдельно есть опции разбиения слоёв внимания на части: они снижают пиковое потребление на больших разрешениях ценой некоторой скорости.
Что ещё освобождает память
Половинная точность вычислений вместо полной сокращает расход почти вдвое и на современных картах практически не влияет на качество. Обычно она включена по умолчанию, но в некоторых конфигурациях её отключают ради совместимости, а потом удивляются нехватке памяти. Проверьте параметры запуска. Также помогает выгрузка декодера в системную память и последовательная обработка вместо параллельной. Конкретные ключи запуска у оболочек отличаются, разбор различий есть в сравнении ComfyUI, Forge и A1111.
Шаг третий: выбор оболочки решает больше, чем кажется
Одна и та же модель на одной и той же карте может запуститься в одном интерфейсе и упасть в другом. Причина в том, как оболочка управляет памятью. Интерфейсы с графом узлов обычно освобождают промежуточные данные агрессивнее, потому что знают точную последовательность операций и могут выгружать то, что больше не понадобится. Оболочки с оптимизированным бэкендом тоже заметно экономнее классической сборки.
Практический вывод: если вы упёрлись в потолок на своей карте, смена интерфейса это дешёвый эксперимент, который иногда даёт больше, чем все настройки вместе. Установка и первичная настройка описаны в руководствах по установке ComfyUI и по установке Forge. Классический вариант со всеми его особенностями разобран в материале про установку Automatic1111.
Шаг четвёртый: апскейл, главный пожиратель памяти
Чаще всего падение случается не на генерации, а на увеличении. Причина очевидна: холст вырос в несколько раз по площади, и весь он должен поместиться в память вместе с моделью. На скромной карте это гарантированный отказ.
Решение называется обработкой по частям. Изображение режется на фрагменты с перекрытием, каждый обрабатывается отдельно, затем куски сшиваются. Пиковое потребление определяется размером фрагмента, а не всего холста, поэтому увеличивать можно практически неограниченно. Платите вы временем и необходимостью аккуратно настроить перекрытие, иначе на стыках видны швы. Методы увеличения, включая поэтапный и частичный подход, подробно разобраны в руководстве по апскейлу изображений.
Ещё один приём
Растите разрешение постепенно. Два умеренных прохода увеличения с небольшим денойзом дают лучший результат и меньший пик памяти, чем один агрессивный. Заодно это снижает риск появления дублирующихся деталей, потому что модель на каждом шаге работает не слишком далеко от привычного ей масштаба.
Шаг пятый: фрагментация и мусор в памяти
Отдельный сценарий: первые генерации проходят нормально, а через некоторое время начинаются падения на тех же настройках. Это фрагментация. Память освобождается кусками, свободного места суммарно достаточно, но непрерывного блока нужного размера уже нет. Симптом узнаваемый: ошибка сообщает, что не удалось выделить блок, хотя свободной памяти вроде бы больше.
Лечится выгрузкой модели и перезапуском процесса. Многие интерфейсы имеют кнопку освобождения памяти, но она помогает не всегда. Полный перезапуск надёжнее. Если вы часто переключаете модели в одной сессии, привыкайте выгружать предыдущую перед загрузкой следующей, иначе в памяти оседают обе. Также стоит закрыть браузер с десятками вкладок, видеоплеер и всё, что использует аппаратное ускорение: они честно откусывают свою долю VRAM.

Когда карта просто не тянет
Пора сказать неприятное. Есть предел, за которым никакие настройки не помогают. Современные крупные модели требуют объёма видеопамяти, которого у бюджетных карт прошлых поколений физически нет. Можно включить самый агрессивный режим экономии, дождаться генерации одного кадра за много минут и получить результат, но работать так невозможно.
Реалистичные варианты в этой ситуации следующие. Первый: перейти на модели меньшего размера или на квантованные версии, которые занимают заметно меньше памяти ценой небольшой потери качества. Для многих задач разница незаметна. Второй: снизить амбиции по разрешению и работать в базовом формате с последующим увеличением по частям. Практические сборки настроек для слабых конфигураций собраны в материале про генерацию на слабом ПК.
Третий вариант: считать не у себя. Аренда видеокарты по времени снимает вопрос целиком и часто оказывается разумнее покупки железа, если вы генерируете эпизодически. Разбор такого подхода есть в материале про облачную генерацию и аренду GPU. Четвёртый: пользоваться готовыми онлайн-сервисами, где вопрос памяти вас вообще не касается.
Отдельно про модели
Размер файла checkpoint это грубый ориентир по потреблению, но не точный. Архитектура важнее. Модели поколения SDXL и старше требуют существенно больше памяти, чем предыдущее поколение, при том же формальном размере файла. Если вы упёрлись в потолок, посмотрите, нет ли облегчённой версии вашей любимой модели. Особенности требований новых архитектур разобраны в гайде по SDXL.
Порядок действий при падении
Соберём в последовательность. Поставьте batch size в единицу. Вернитесь к базовому разрешению модели. Отключите все дополнения и управляющие сети, затем включайте по одному. Убедитесь, что включена половинная точность. Включите умеренный режим экономии VRAM, при необходимости агрессивный. Закройте программы, потребляющие видеопамять. Перезапустите процесс, чтобы снять фрагментацию. Апскейл делайте по частям. Если после всего этого генерация всё ещё не проходит, значит выбранная модель тяжелее вашей карты, и решение лежит в смене модели или в аренде мощностей.
И последнее наблюдение из практики. Люди тратят вечера на подбор ключей запуска там, где переход на модель другого размера решил бы вопрос за минуту. Оценивайте трудозатраты честно: если каждый кадр требует борьбы, инструмент подобран неправильно под ваше железо, и правильный ход это сменить инструмент, а не героически его настраивать.
Похожие ошибки, которые путают с нехваткой VRAM
Процесс завершается без сообщения
Иногда генерация не выдаёт ошибку, а просто убивает процесс. Это тоже нередко нехватка памяти, только не видеопамяти, а системной: интерфейс выгружал веса в оперативку, места не хватило, и операционная система прекратила процесс. Диагностируется по поведению диспетчера задач во время загрузки модели. Лечится увеличением файла подкачки или переходом на модель меньшего размера. Это тот редкий случай, когда совет про подкачку действительно уместен.
Чёрное изображение вместо результата
Пустой чёрный кадр обычно связан не с памятью, а с числовой точностью на конкретных видеокартах или с проблемой декодера. Некоторые архитектуры требуют отдельного ключа запуска для корректной работы половинной точности. Если генерация проходит до конца и отдаёт черноту, крутить настройки памяти бессмысленно, смотрите в сторону точности вычислений и VAE.
Драйвер перезапустился
Сообщение о восстановлении графического драйвера означает, что карта не ответила вовремя. Причины бывают разные: перегрев, нестабильный разгон, слабое питание, а иногда просто слишком длинная операция. Проверьте температуры под нагрузкой, снимите разгон, если он был, и попробуйте разбить задачу на части. К объёму видеопамяти это отношения не имеет, хотя внешне похоже на ту же беду.
Как оценить, сколько памяти нужно вашей задаче
Полезно один раз замерить реальное потребление вместо гадания. Запустите мониторинг видеопамяти и проведите генерацию в базовом разрешении с batch, равным единице, без дополнений. Запишите пиковое значение. Затем добавьте одно дополнение и повторите. Затем поднимите разрешение на шаг. Так вы получите собственную таблицу расхода для своей связки железа и модели, и дальше сможете предсказывать, что влезет, а что нет, без метода проб и ошибок.
Такой замер обычно приносит несколько открытий. Например, что управляющая сеть стоит дороже, чем ожидалось, или что запас памяти на рабочий стол больше, чем казалось, и достаточно закрыть пару приложений. Заодно становится видно, какая именно операция даёт пик: чаще всего это не сама диффузия, а декодирование финального изображения, и именно на этом шаге всё падает.
Практический ориентир по компромиссам
Если приходится чем-то жертвовать, жертвуйте в таком порядке. Сначала batch size, потому что он не влияет на качество отдельного кадра. Затем количество одновременно подключённых дополнений. Затем разрешение генерации, компенсируя это увеличением по частям. И только в последнюю очередь включайте самый агрессивный режим экономии, потому что он бьёт по скорости сильнее всего остального. Такой порядок сохраняет качество результата максимально долго.

Настройки системы, которые действительно влияют
Есть небольшой список системных мелочей, которые дают ощутимый выигрыш и о которых часто забывают. Первое: браузер и мессенджеры с аппаратным ускорением занимают видеопамять постоянно, а не только при просмотре видео. Закрыть их перед тяжёлой генерацией это самый дешёвый способ вернуть себе заметный кусок VRAM. Второе: несколько мониторов и высокое разрешение рабочего стола тоже стоят памяти, хотя и меньше.
Третье: у части драйверов есть режим, при котором нехватка видеопамяти автоматически компенсируется системной. Звучит спасительно, но на практике это ловушка: генерация не падает, а замедляется в разы, и вы долго не понимаете, почему всё стало тормозить. Если производительность внезапно рухнула без изменения настроек, проверьте именно этот сценарий, он маскирует проблему вместо того, чтобы её решать.
Четвёртое: следите за температурами. Карта, работающая на пределе, снижает частоты, и время генерации растёт без всякой связи с памятью. Это отдельная проблема, но в диагностике их часто смешивают, потому что симптом одинаковый, всё стало медленно.
Как понять, что пора менять подход
Есть простой критерий, который экономит месяцы бесплодной борьбы. Замерьте, сколько времени занимает получение одного пригодного кадра со всеми исправлениями и увеличением. Если счёт идёт на десятки минут и при этом каждая вторая попытка падает по памяти, ваша конфигурация не подходит под выбранный класс моделей. Дальнейшая настройка ключей запуска даст проценты, а не разы.
В такой ситуации разумных ходов ровно два, и оба нормальные. Первый: спуститься на класс моделей ниже и работать комфортно, принимая небольшую потерю в качестве, которая для большинства задач вообще незаметна. Второй: вынести вычисления наружу и платить за время работы чужой карты только тогда, когда действительно генерируете. Героическое выжимание последних мегабайт из старой карты выглядит увлекательно, но по совокупным затратам времени почти всегда проигрывает обоим вариантам.
Полезно также разделять задачи по требовательности. Черновая проработка идеи, подбор композиции и перебор вариантов прекрасно живут на скромной карте в базовом разрешении. Финальная отрисовка с крупным форматом и тонкой детализацией это другая работа, которую логично выносить туда, где под неё есть ресурсы. Многие пользователи в итоге приходят именно к такой гибридной схеме: черновики локально, финал на арендованной мощности. Это заметно дешевле по времени, чем пытаться делать всё в одном месте и упираться в потолок на каждом втором кадре.
И последнее, о чём стоит помнить: сообщение о нехватке памяти это не поломка и не признак того, что вы что-то сломали. Это нормальная реакция системы на задачу, которая не помещается. Относитесь к нему как к сигналу измерения, а не как к аварии, и порядок действий из этой статьи закроет подавляющее большинство случаев за несколько минут.
Часто задаваемые вопросы
Поможет ли увеличение оперативной памяти или файла подкачки?
В подавляющем большинстве случаев нет. Ошибка относится к видеопамяти на самой карте, а не к системной оперативке. Расширение файла подкачки может помочь только в сценариях, где интерфейс выгружает часть весов в системную память и ей не хватает места, но это уже другое сообщение об ошибке. Смотрите на текст ошибки внимательно.
Почему падает именно на апскейле, а генерация проходит?
Потому что увеличенный холст растёт по площади в несколько раз и целиком должен поместиться в память вместе с моделью. Решение это обработка по частям: изображение режется на фрагменты с перекрытием, каждый обрабатывается отдельно, затем куски сшиваются. Пиковое потребление тогда определяется размером фрагмента, а не всего кадра.
Что даёт режим экономии VRAM и чем платить?
Он держит в видеопамяти только нужную прямо сейчас часть модели, а остальное выгружает в системную память. Платите скоростью: умеренный режим почти не влияет на время, агрессивный замедляет заметно. Начинайте с умеренного и переходите к жёсткому только когда первого не хватило, иначе теряете производительность без необходимости.
Почему первые генерации проходят, а потом начинаются падения?
Это фрагментация видеопамяти. Свободного места суммарно достаточно, но непрерывного блока нужного размера уже нет, потому что память освобождалась кусками. Помогает выгрузка модели и полный перезапуск процесса. Если вы часто меняете модели в одной сессии, выгружайте предыдущую перед загрузкой следующей, иначе в памяти оседают обе.
Влияет ли batch size на потребление памяти?
Прямо и сильно. При batch больше единицы несколько изображений считаются одновременно, и все промежуточные тензоры лежат в памяти параллельно. На картах со скромным объёмом держите значение равным единице всегда. Если нужно много вариантов, увеличивайте число последовательных прогонов, результат будет тот же, а пиковое потребление не вырастет.
Можно ли что-то сделать, если карта совсем слабая?
Честный ответ: возможности ограничены. Реалистичные пути это переход на модели меньшего размера или квантованные версии, работа строго в базовом разрешении с увеличением по частям, либо перенос вычислений в облако с почасовой арендой. Героическая настройка ключей запуска ради одного кадра за много минут редко оправдывает потраченное время.
Что жрёт память кроме самой модели?
Подключённые дополнения, управляющие сети, модули автоматического исправления деталей, декодер, промежуточные буферы генерации и то, что откусила операционная система под рабочий стол. Браузер с множеством вкладок и видеоплеер с аппаратным ускорением тоже занимают ощутимую долю. Отключите лишнее и включайте компоненты по одному, наблюдая за расходом.
Помогает ли смена интерфейса при нехватке памяти?
Иногда очень заметно. Оболочки по-разному управляют выгрузкой промежуточных данных: интерфейсы с графом узлов знают точную последовательность операций и освобождают память агрессивнее классических сборок. Одна и та же модель на той же карте может запуститься в одном интерфейсе и упасть в другом, поэтому пробная установка альтернативы это дешёвый эксперимент.



