Крупный план модуля памяти — выбор конфигурации unified memory для Ollama и MLX на M4 Mac Mini

На M4 Mac Mini при запуске локальных LLM в чатах чаще спорят не про «Ollama или MLX», а про то, хватает ли 16GB. Кто-то ставит qwen2.5:14b, радуется «вроде работает» — а на третьем раунде диалога начинается swap, tok/s падает с 11 до 3; кто-то берёт 24GB и видит 7B на ~50 tok/s. Неверный объём RAM бьёт сильнее, чем неверный фреймворк.

В Macstripe Lab мы протестировали три M4 Mac Mini (16GB / 24GB / 32GB) с парой Ollama 0.6.2 и MLX: таблица решений память × сценарий × фреймворк, точка swap и чеклист из семи шагов. Цены и официальные стартовые конфигурации — по состоянию на 2026-07-21. Подробнее о выборе модели — в тесте 7B vs 14B; про фреймворки — в Ollama vs MLX.

1. Сначала вывод: объём памяти × сценарий × рекомендуемая связка

Unified memoryТипичный сценарийМодельRuntimetok/s (median)Риск
16GB Личный чат, лёгкие скрипты, проба на своей машине qwen2.5:7b / llama3.1:8b Ollama 7B ~29 · 8B ~28.8 14B легко уходит в swap; Chrome+IDE одновременно — перегруз
24GB Claude Code Agent, программирование по нескольким файлам qwen2.5-coder:14b Ollama 14B ~15.1 · 7B ~51.1 Sweet spot; decode медленнее 7B — норма
32GB Большой ctx + Xcode на той же машине, лёгкий командный узел 14B + num_ctx 32K Ollama serve 14B ~16–18 Дороже 24GB; личный ROI нужно считать
48GB+ Общий inference, эксперименты с 32B qwen2.5:32b (Q4) кластер Ollama serve 32B ~8–12 См. гайд по M4 Pro
Коротко: сначала объём RAM, потом модель, в конце — Ollama / MLX. Для Agent — Ollama. MLX — только для офлайн-бенчмарков и проверки моделей, не для повседневного runtime. Не гоните 14B на 16GB; 24GB — стабильный минимум для 14B.

2. Три типичные ошибки: почему память важнее фреймворка

В лаборатории мы снова и снова видим три ситуации «кажется, всё верно — а памяти не хватает»:

Тип ошибкиКак проявляетсяЦифры из тестовЧто делать
Смотреть только рейтинги tok/s В сети 14B «даёт 15 tok/s», у вас — 3 14B на 16GB: 11.2 → 8.4 → 3.4 tok/s (три раунда подряд) Сверяйте Swapins; рейтинги чаще сняты на 24GB в чистой системе
Игнорировать фон «Я только Ollama», но Chrome 30 вкладок + индексация Xcode 8B в чистоте 28.8 tok/s → с Chrome 20.8 (исключено из median) Закрывайте вкладки перед тестом; или закладывайте 4–6GB на OS + IDE
Путать фреймворк и память Думать, что MLX «сэкономит» RAM для 14B Ollama vs MLX на той же модели: разница <5% Фреймворк — проценты; объём RAM — порядок величины

Типичный отзыв indie-разработчика: «На 16GB Claude Code + qwen2.5-coder:14b — первые два раунда норм, на третьем TTFT с 1.9s до 5.8s». Модель не «глупеет» — unified memory входит в зону swap. Теория — в «Unified memory и LLM-инференс».

3. Границы: 16GB / 24GB / 32GB

Базовый M4 Mac Mini предлагает три уровня unified memory, GPU 10 ядер, bandwidth ~120 GB/s. Число GB не меняет потолок L2 bandwidth, но определяет, поместятся ли модель + KV + foreground-приложения без давления L3 и обвала.

3.1 Формула бюджета памяти (оценка)

Статья7B Q414B Q4Примечание
Квантованные веса~4.5 GB~9 GBOllama по умолчанию Q4_K_M
KV cache (num_ctx=2048)~0.5 GB~1 GBРастёт линейно с ctx
macOS + foreground4–6 GB4–6 GBChrome/IDE по 1–3 GB
Ollama daemon~0.3 GB~0.3 GBПостоянный HTTP-сервис
Итого (грубо)~10 GB~15 GB14B на 16GB почти без запаса

3.2 Три уровня: стабильно / на пределе / не стоит

RAM7B/8B14B32BЗаметка
16GB✅ стабильно⚠️ легко swapПервый выбор для лёгкого solo
24GB✅ очень быстро✅ sweet spot⚠️ впритыкРекомендуемый уровень для Agent / кода
32GB✅ большой ctx⚠️ Q4 можно пробоватьCI + LLM на одной машине

Если основной сценарий — «Claude Code + 14B локально», 24GB — лучшая точка по цене/пользе. Это не линейное «+8GB = +8 tok/s», а отодвигание swap, перевод 14B из зоны обвала в стабильную. Полная методология — в Hub с полными тестами.

4. Конфигурация: footprint Ollama vs MLX

Многие думают, MLX «нативнее» и экономит память — тесты это не подтверждают. При той же модели и квантизации веса и KV почти одинаковы; разница в архитектуре runtime, а не в гигабайтах.

ПараметрOllamaMLXРазница в тестах
Веса модели (Llama 3.1 8B Q4)~4.9 GB~4.8 GBМожно игнорировать
Резидентный процесс~200–400 MB (daemon)По запросу, без daemonOllama чуть больше
tok/s (16GB, чисто, 8B)median ~28.8~28–32MLX быстрее на 0–12% (офлайн)
tok/s (24GB, чисто, 8B)median ~51.2~52–55Разрыв сужается
Claude Code✅ нативно :11434❌ нужен свой HTTPAgent → Ollama
После swap11.2 → 3.4 tok/sНа том же RAM — тот же обвалРешает объём RAM
Рекомендация: повседневный Agent / Claude Code → Ollama + модель под RAM. Python-бенчмарки, CI regression, исследовательские скрипты → MLX. Не меняйте на MLX ради «экономии» на 16GB с 14B — не сэкономите.

Нужен удалённый 14B без апгрейда своей машины? Неделю можно прогнать на облачном узле Macstripe 24GB, проверить Agent-workflow и решить — покупать или арендовать.

5. Данные тестов: tok/s, TTFT и точка swap

Среда: Mac Mini M4 (Mac14,3), macOS 15.4.1, Ollama 0.6.2, Q4_K_M по умолчанию. Машины m4-16gb-lab-01, m4-24gb-lab-02. Период 2026-05-28 — 2026-07-18.

5.1 16GB: 7B стабилен, 14B рушится

Модельrun 1run 2run 3medianSwapins
qwen2.5:7b28.731.426.929.10
qwen2.5:14b11.28.43.4— (сессия прервана)8421+

14B на 16GB — не «чуть медленнее», а обвал в три фазы: run 1 терпимо → run 2 swap → run 3 memorystatus: WARN → runner убит OOM.

5.2 24GB: 14B в sweet spot

Модельtok/s, 5 прогоновmedianTTFTSwapins
qwen2.5:7b49.2 / 53.8 / 51.1 / 48.6 / 52.451.1~2.0s0
qwen2.5:14b14.2 / 16.8 / 15.1 / 17.3 / 14.915.1~2.7s0

5.3 Фрагмент raw log

--- m4-16gb-lab-01 · qwen2.5:14b ---
run 1: tok/s=11.2  TTFT=2.71s
run 2: tok/s=8.4   Swapins: 1204
run 3: tok/s=3.4   memorystatus: WARN  TTFT=5.81s
run 4: ERROR runner killed (oom?)  Swapins: 8421

--- m4-24gb-lab-02 · qwen2.5:14b ---
tok/s: 14.2  16.8  15.1  17.3  14.9  median: 15.1

Полный лог: resources/sample-benchmark-7b-14b-run.log; скрипт воспроизведения: resources/benchmark-m4-mac-mini-ollama.sh.

6. Канал: апгрейд своей машины vs облачная аренда Mac

ПутьКому подходитПлюсыМинусы
Апгрейд при покупке (16→24GB) Локальный Agent несколько раз в неделю, долгий офлайн Разовая покупка, данные не покидают машину Официальный апгрейд Apple дорог; привязка к столу
Облачный Mac посуточно/помесячно Проба 14B, пиковые задачи, командный узел Развёртывание за минуты; 24GB/48GB по запросу Нужна сеть; долгий ROI считать отдельно
Гибрид: 16GB локально + 24GB в облаке 7B дома, тяжёлые задачи в облаке Гибкая стоимость, пики без swap Два окружения поддерживать

Разработчик iOS + AI использовал гибрид: 16GB локально с 7B для дополнения кода, тяжёлый Claude Code по SSH на узле Macstripe 24GB с 14B — ~$103/мес, дешевле разницы при покупке 24GB. Сравнение аренды — в «Сравнение цен аренды Mac mini M4».

7. Разница в цене: сколько стоит больший объём RAM

АпгрейдДоплата Apple US (ориентир)Облако, разница/мес (ориентир)Когда окупается
16GB → 24GB+$200 (при заказе)+~$30–50/мес3+ раза в неделю 7B «не тянет» задачу
24GB → 32GB+$200зависит от провайдераXcode CI + 14B на одной машине
16GB → 48GB (M4 Pro)смена моделиузел Macstripe 48GBОбщий доступ команды / 32B

Грубый ROI: если из‑за качества 7B вы теряете 2 часа в неделю (при $50/ч), за месяц $400 — больше официальной доплаты 16→24GB ($200). Апгрейд RAM — часто самое дешёвое эффективное улучшение, полезнее смены фреймворка или тюнинга параметров.

8. Чеклист и семь шагов запуска

Перед заказом или сборкой сверьте ожидания:

  • ☐ Основной сценарий — чат (7B хватит) или Agent-программирование (склоняетесь к 14B)
  • ☐ Будут ли одновременно Chrome 20+ вкладок + IDE
  • ☐ Нужен ли Claude Code / Cursor с локальной моделью
  • ☐ Runtime: Ollama (Agent) или MLX (только бенчмарки)
  • ☐ Постоянно локально или пики в облаке
  • ☐ Бюджет на 16GB / 24GB / 32GB
  • ☐ Общий доступ команды (→ 24GB+ или облачный узел)
  • ☐ Готовы ли к риску swap (16GB + 14B = высокий)

Семь шагов (путь Ollama)

  1. Определите объём RAM и целевую модель (16GB→7B; 24GB→14B)
  2. Установите Ollama: brew install ollama или pkg с сайта
  3. Скачайте модель: ollama pull qwen2.5-coder:7b (16GB) или :14b (24GB)
  4. Проверьте Metal: в логе ollama serve есть ggml_metal_init
  5. Запустите бенчмарк: ./resources/benchmark-m4-mac-mini-ollama.sh
  6. Мониторинг памяти: vm_stat + индикатор давления в Activity Monitor
  7. Подключите Agent: Claude Code → http://127.0.0.1:11434

9. Стартовые цены для цитирования (по состоянию на 2026-07-21)

КонфигурацияApple US MSRP (USD)Образование (ориентир)Macstripe облако/мес (USD)
M4 Mac Mini 16GB / 256GB$599~$539~$102.9
M4 Mac Mini 24GB / 256GB$799~$719~$130–150 (по узлу)
M4 Mac Mini 32GB / 256GB$999~$899по запросу / custom
M4 Pro 48GB (inference-узел)$1,399+по конфигурациисм. тарифы

Цены Apple — публичные данные US store; образовательная скидка по условиям Apple. Облачные тарифы — актуальные на странице Macstripe.

10. Кому какой объём RAM

АудиторияРекомендуем RAMМодель + фреймворкАльтернатива
Студент / проба16GB7B + OllamaОблако посуточно для 14B
Indie + Agent24GB14B + Ollama16GB локально + 24GB в облаке
iOS-разработка + локальный LLM32GB14B + Xcode на одной машинеCI и inference на разных Mac
Малый командный inference-узел48GBкластер ollama serveузел Macstripe 48GB

Не уверены, хватит ли 24GB? Арендуйте облачный Mac на неделю с реальным Agent-workflow — надёжнее десяти обзоров бенчмарков. Macstripe: SSH/VNC, ~5 минут до доступа, без долгого контракта — потом решите: апгрейд своей машины или постоянная аренда.

FAQ

M4 Mac Mini для локальных LLM: 16GB или 24GB?

Повседневные 7B/8B + лёгкая IDE — 16GB; стабильный 14B, Claude Code Agent или много вкладок браузера — 24GB. При насильном 14B на 16GB tok/s падает с 11.2 до 3.4.

Ollama или MLX — кто больше ест память?

При той же модели и квантизации разница обычно <5%. Узкое место — объём unified memory, не название фреймворка. Для Agent — Ollama.

Стоит ли 32GB вместо 24GB?

Для solo с 14B и стандартным ctx 24GB обычно хватает; 32GB — Xcode CI + LLM на одной машине или больший num_ctx.

Как понять, что памяти не хватает?

Индикатор давления памяти, рост Swapins в vm_stat, обрыв tok/s. memorystatus WARN — предвестник swap.

Можно ли арендовать облачный Mac вместо покупки?

Да. Macstripe — выделенные узлы M4 16GB/24GB/48GB, после SSH установите Ollama; подходит для пробы 14B или командного inference.

Итог

Локальные LLM на M4 Mac Mini: объём RAM — решающий фактор. 16GB — 7B + Ollama для личной пробы; 24GB — sweet spot для 14B Agent; 32GB — CI + большой контекст на одной машине. Разница Ollama/MLX по памяти пренебрежима; фреймворк выбирают по сценарию (Agent → Ollama, бенчмарки → MLX).

Если на 16GB насильно держите 14B — прочитайте тест 7B vs 14B про swap или арендуйте облачный Mac 24GB на неделю с реальным workflow.

Читать дальше