nvidia-smi (ставится вместе с драйвером NVIDIA), локальный рантайм (Ollama, LM Studio или llama.cpp) — точные пути логов и имена переменных сверьте с документацией вашей версии
winver. - [ ] nvidia-smi отвечает в PowerShell (для NVIDIA)
- [ ] модель отвечает на простой запрос
- [ ] известен путь к лог-файлу рантайма
- [ ] закрыты браузер и игры, занимающие VRAM
Что сделать: собрать «паспорт» видеокарты: модель, версия драйвера, полный и свободный объём VRAM. VRAM — видеопамять, отдельная память на карте; когда она кончается, рантайм переносит часть модели в обычную RAM и скорость падает в разы.
Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion, VideoProcessor
nvidia-smi --query-gpu=name,driver_version,memory.total,memory.used,memory.free --format=csv
Пример: вторая команда печатает таблицу вида
name, driver_version, memory.total [MiB], memory.used [MiB], memory.free [MiB]
NVIDIA GeForce RTX 3060, 5xx.xx, 12288 MiB, 1200 MiB, 11000 MiB
(значения условные — у вас будут свои).
Зачем: без базовой цифры «сколько VRAM свободно до запуска» нельзя понять, виновата ли нехватка памяти или сам рантайм.
Как проверить: если nvidia-smi не найден — откройте C:\Windows\System32\DriverStore\FileRepository и убедитесь, что драйвер NVIDIA вообще установлен; для AMD/Intel аналог команды сверьте с документацией производителя. Общие сведения о работе ИИ в Windows — в гайде Windows с ИИ: Copilot и нейросети в системе.

Что сделать: запустить мониторинг в одном окне PowerShell, а запрос к модели — во втором.
Окно 1 — поток метрик раз в секунду:
nvidia-smi dmon -s mu -d 1
Окно 2 — тестовый запрос (пример для Ollama на локальном порту 11434; порт и путь эндпоинта сверьте с документацией вашего рантайма):
curl.exe http://localhost:11434/api/generate -d '{\"model\":\"<имя-модели>\",\"prompt\":\"Опиши кота одним предложением\",\"stream\":false}'
Без NVIDIA используйте встроенный счётчик Windows:
Get-Counter '\GPU Engine(*)\Utilization Percentage' -SampleInterval 1 -MaxSamples 30
Пример: в dmon во время генерации столбец sm (загрузка вычислителей) уходит в 80–100 %, mem (загрузка шины памяти) — тоже высоко; в простое оба близки к нулю.
Зачем: это разделяет два разных диагноза — «GPU не используется вообще» и «GPU используется, но упирается в память».
Что вы увидите и что это значит:
| Наблюдение | Вероятная причина | Действие |
|---|---|---|
| `sm` = 0–5 %, ответ идёт медленно | расчёт идёт на CPU, GPU не задействован | перейти к Шагу 3, искать в логе строки про GPU |
| `sm` = 90–100 %, `memory.used` близко к `memory.total` | модель упирается в VRAM, возможна подкачка | уменьшить контекст или размер модели |
| `sm` скачет 0 ↔ 100 | рантайм ждёт диск или RAM | проверить диск и занятую память в диспетчере задач |
| GPU загружен другой программой | VRAM занята браузером/игрой | закрыть лишние приложения и повторить замер |
Как проверить: сравните два замера — в простое и во время генерации. Если разницы нет, проблема не в скорости GPU, а в том, что он не подключён к работе.

Что сделать: включить подробный лог и найти строку о распределении слоёв модели между GPU и CPU.
$env:OLLAMA_DEBUG = "1"
Get-ChildItem "$env:USERPROFILE\.ollama\logs" | Sort-Object LastWriteTime -Descending | Select-Object -First 3
Select-String -Path "$env:USERPROFILE\.ollama\logs\server.log" -Pattern "offload|GPU|CUDA|memory" | Select-Object -Last 20
Пример: в логе появляется строка вида offloaded 33/33 layers to GPU — это значит, что все слои на видеокарте. Строка offloaded 0/33 layers to GPU означает, что модель считают процессорные ядра, и никакой драйвер тут не поможет.
Зачем: лог — единственный источник, который прямо говорит, сколько слоёв ушло на GPU и сколько памяти рантайм попросил. Пути %USERPROFILE%\.ollama\logs\server.log и переменную OLLAMA_DEBUG сверьте с документацией вашей версии — в других рантаймах они называются иначе.
Как проверить: чек-лист успеха:
N/N)memory.used в nvidia-smi заметно выше, чем до запускаПроблема. Модель отвечает, но GPU холодный: загрузка 0–5 %, вентиляторы не крутятся.
offloaded 0/33 layers to GPU либо в логе вообще нет строк с CUDA.nvidia-smi в том же окне, откуда запускается рантайм; если команда не отвечает — переустановить драйвер. Если отвечает, а слоёв по-прежнему 0 — переустановить сам рантайм, сверяясь с документацией по сборкам с поддержкой GPU.Проблема. Ответ на короткий вопрос нормальный, на длинный — падение или резкое замедление.
CUDA error: out of memory.Проблема. Первый ответ — за секунды, следующие — за минуты, диск загружен на 100 %.
100 %, память близка к пределу.Диагноз строится на трёх цифрах: свободная VRAM до запуска, загрузка GPU во время генерации и число слоёв на GPU из лога — они сразу отделяют «не используется видеокарта» от «не хватает памяти». Если GPU работает штатно, следующий шаг — оптимизация самого рантайма и выбор модели под ваш объём VRAM, см. Как запустить ИИ-модель локально на своём компьютере.
Почему локальная модель грузит процессор, а не видеокарту?
Чаще всего рантайм не имеет доступа к GPU: не установлен драйвер, установлена сборка без ускорения или в логе стоит offloaded 0/N layers to GPU. Проверяется Шагами 1 и 3.
Сколько VRAM нужно, чтобы модель считалась на GPU?
Зависит от размера модели, квантования (сжатия весов) и длины контекста. Универсальной цифры нет — сверьтесь с документацией модели и рантайма, а фактическую потребность измерьте через nvidia-smi по Шагу 2.
Почему первый ответ всегда дольше последующих?
При первом запросе модель загружается в память с диска, дальше она уже в RAM/VRAM. Если разрыв огромный и диск загружен на 100 %, смотрите третью проблему выше.
Поможет ли увеличение файла подкачки?
Иногда убирает падения, но не ускоряет генерацию: чтение с диска медленнее памяти. Сначала попробуйте уменьшить размер модели или контекста.