← Назад в технический блог

Тест RAM для Codex CLI:
какие проекты доходят до конца на 8, 16 и 32 ГБ

Какие проекты Codex CLI вытягивают 8, 16 и 32 ГБ RAM

Аппаратный порог, который OpenAI ставит Codex CLI, звучит вежливо: минимум 4 ГБ, рекомендовано 8 ГБ. Это гарантирует, что процесс поднимется — не то, что вы доведёте в репозитории круг «прочитать → поменять файлы → прогнать тесты → закоммитить». Инференс модели в облаке. Память забивают индекс, тесты, Docker, Xcode и дочерние процессы MCP, которые агент поднимает локально.

Сразу вывод: 8 ГБ хватает на скрипты, документационные сайты и маленький односервисный репозиторий; 16 ГБ — комфортная линия повседневного Web; 32 ГБ — для монорепозиториев, iOS и связки «Codex + контейнеры + браузерный MCP». Официальная цифра — порог запуска, не список проектов.

На 9 сентября 2026 в официальной инструкции по установке Codex по-прежнему написано: macOS 12+ / Ubuntu 20.04+ (Windows через WSL2), память минимум 4 ГБ, рекомендовано 8 ГБ. Сам CLI — нативный бинарник на Rust; в простое часто занимает лишь несколько сотен МБ. Как у Claude Code и Cursor, дорого не «процесс агента», а локальный toolchain, который он будит, едва начинает работать. Если вам нужны ступени покупки другого агента — наш замер Claude Code 16 ГБ / 24 ГБ / 64 ГБ; если нужен свой сервис ревью PR — это другая статья: OpenCode Review 4 ГБ / 8 ГБ / 16 ГБ. Здесь один вопрос: какие классы проектов Codex CLI реально доводит на 8 / 16 / 32 ГБ.

Официальные 4 ГБ / 8 ГБ гарантируют только запуск

Читать «рекомендовано 8 ГБ» как «на 8 ГБ пишется любой проект» — самая частая ошибка. Официальная таблица отвечает: выживут ли ОС + зависимости Node/рантайма + процесс Codex. Она не покрывает такую работу:

  • в репозитории лежат node_modules, DerivedData, .next или десятки тысяч исходников — агент читает по путям и ищет инструментами;
  • вы просите «починить упавший CI» — он запускает npm test, pytest или xcodebuild;
  • включены Playwright / Chrome DevTools / XcodeBuild MCP, и каждая сессия может поднять ещё одно дерево Node;
  • рядом крутятся браузер, IDE и локальный dev server — ничего из этого нет в «минимум 4 ГБ».

Инференс идёт у OpenAI, более мощный GPU локально не поможет. Локальная память решает, есть ли toolchain где стоять. Поэтому одна и та же официальная строка на скриптовом репозитории и на iOS-монолите ощущается противоположно.

Запомнить разделение: 4 ГБ / 8 ГБ значат «Codex открывается»; дойдёт ли проект до конца — зависит от тестов, контейнеров, симуляторов и MCP. Именно там границы 8 / 16 / 32.

Счёт за память: CLI, индекс, дочерние процессы, MCP

Резидентная память интерактивной сессии — четыре статьи счёта. Если смотреть их по отдельности, понятно, что резать, а не сразу докупать RAM.

СтатьяТипичный объёмКогда раздуваетсяСтратегия на 8 ГБ
Сам Codex CLI0.4–1.2 ГБОчень длинные сессии, внутреннее состояние не отдаётсяПосле задачи /new или выход
Чтение репозитория / индекс0.3–2 ГББольшой репозиторий, не проигнорированные артефакты сборкиДержать .gitignore, сузить рабочий каталог
Поднятые дочерние процессы1–12 ГБnpm / Docker / xcodebuildЗапретить агенту контейнеры и симуляторы
Дерево MCP0.5–несколько ГББраузер, Xcode, не убитые субагентыПо умолчанию выкл., включать по необходимости

В сообществе уже достаточно громких сигналов: на локальном репозитории около 1.2 ГБ анонимный RSS нативного рантайма Codex вырастал до 18 ГБ и даже 29 ГБ, пока cgroup его не убил (openai/codex#21233). Второй класс проблем — жизненный цикл MCP: сессия зависла или субагент закончил, а npx / Playwright / xcodebuildmcp остаются — машину на 16 ГБ сироты затаскивают в своп. Поэтому «32 ГБ всегда безопасно» тоже неверно: вы покупаете только больше времени на реакцию.

Этим текст отличается от статей «какой компьютер купить»: мы считаем по toolchain проекта, а не по кодовому имени чипа.

Как мерили: три потолка, шесть проектов

Один и тот же Codex CLI (вход через ChatGPT, модель кодирования по умолчанию), шесть фиксированных задач, потолок 8 / 16 / 32 GiB доступной памяти. На Linux — systemd-run --scope -p MemoryMax=; на macOS — давление памяти и своп в «Мониторинге системы». Четыре метрики: пиковый RSS Codex + дочерних процессов, начался ли жёсткий своп, доведена ли задача, wall-clock время.

Шесть проектов — работа, которую разработчик реально отдаёт агенту, не Hello World:

  1. P0 Пустая сессия: холодный старт codex, вопрос про структуру репозитория, без тестов.
  2. P1 Небольшой Python CLI: около 180 исходников, починить баг парсера, pytest -q.
  3. P2 Средний Next.js: около 800 исходников, добавить API-маршрут, npm test (без E2E-браузера).
  4. P3 P2 + Docker Compose: Postgres + контейнер приложения; Codex меняет миграцию и перезапускает стек.
  5. P4 iOS-приложение: средний UIKit-проект, правка интерфейса и xcodebuild (без полного набора симуляторов).
  6. P5 P2 + Playwright MCP: браузерный MCP включён, компонент правят по открытой странице.

Цифры — интервалы пика, не калибровка прибора. В окружении остаются ОС и тонкий терминал; не 40 вкладок Chrome. Если у вас ещё Slack, Figma и три dev server, каждую ступень в таблице оценивайте на одну выше.

Сводка: успех, зависание, kill

Проект8 ГБ16 ГБ32 ГБПик RSS (ок.)
P0 Пустая сессиягладкогладкогладко0.5–0.9 ГБ
P1 Небольшой Python + pytestдоводитлегколегко1.6–2.4 ГБ
P2 Next.js + юнит-тестыдоводит, начинается подкачкагладкогладко5.5–7.8 ГБ
P3 + Docker ComposeOOM / убитдоводит, давление памяти жёлтоестабильно11–15 ГБ
P4 iOS + xcodebuildне доводитсвоп на компиляции, иногда зависаетдоводит16–24 ГБ
P5 + Playwright MCPне доводиткороткие сессии можно, длинные оставляют процессыкороткие сессии стабильны, трупы всё равно убирать8–14 ГБ, после утечки без потолка

Из таблицы держите две вещи. Первое: P2 уже у потолка 8 ГБ — не потому что Codex съел 8 ГБ, а потому что тестовые процессы node плюс чтение файлов доедают остаток свободной памяти. Второе: P4 / P5 почти никогда не валятся из‑за того, что «модель не умеет Swift / не кликает страницу». Компилятор и браузер душат машину раньше, чем агент доходит до последнего шага.

Какие проекты тянет 8 ГБ

8 ГБ — официальная «рекомендация» и реальность многих ультрабуков, входных VPS и старых Mac с унифицированной памятью. Проекты, которые там доходят до конца, узнаются сразу: мало исходников, нет контейнеров, нет симулятора IDE, тесты живут внутри процесса.

Что можно отдать 8 ГБ

  • скрипты, краулеры, мелкие утилиты, рефакторинг одного файла;
  • правки текста и конфигов документационных сайтов (Astro / VitePress / Docusaurus);
  • небольшой Flask / Express / FastAPI, тесты через pytest или несколько Node-юнитов, без браузера;
  • разовые патчи через codex exec: прочитать несколько файлов, поменять, выйти — без интерактивного TUI;
  • комментарии к ревью, сообщения коммитов, перевод логов ошибок в черновик патча.

Что на 8 ГБ сразу бросать

  • любой fullstack, которому нужен Docker Desktop / Compose;
  • Xcode, симулятор iOS, эмулятор Android;
  • Playwright, Cypress, Chrome DevTools MCP;
  • полный прогон тестов большого pnpm- / npm-монорепозитория;
  • «VS Code плюс десяток вкладок, а Codex правит репозиторий» — система сначала уходит в подкачку. Вам кажется, агент тупит; на самом деле диск работает вместо RAM.

Самое эффективное применение 8 ГБ — не «терпеть большой репозиторий», а резать большой репозиторий на мелкие задачи: открывать только подкаталог, MCP выкл., закрывать работу через codex exec и уходить. Длинные интерактивные сессии — естественный враг 8 ГБ: чем дольше сессия, тем охотнее остаются внутреннее состояние и дочерние процессы.

Какие проекты тянет 16 ГБ

16 ГБ — наша повседневная Web-ступень по умолчанию. P2 — средний фронт / fullstack плюс юнит-тесты — здесь уже не дерётся со свопом за время. Входной SKU облачных Mac mini у Nuvcloud тоже 16 ГБ унифицированной памяти и совпадает с этой ступенью: ультрабука мало — переносите сессию Codex вместе с toolchain на выделенный узел, а не мучайте ноутбук на 8 ГБ.

Где 16 ГБ комфортны

  • средний Next.js / Nuxt / Rails / Django, юнит-тесты + локальный dev server;
  • один контейнер БД или очень тонкий docker-compose (без Redis + Elasticsearch + браузера сверху);
  • VS Code / Zed + Codex в терминале, 2–3 ГБ оставлены системе;
  • средние Python-скрипты по данным (pandas, средние таблицы, без полного локального LLM);
  • ненадолго один MCP (Git или поиск по доке), сразу после — выключить.

Что 16 ГБ вывезут — если соблюдать правила

P3 на 16 ГБ «доводит», если вы готовы к жёлтому давлению памяти и не поднимаете второй стек контейнеров параллельно. Мелкая правка iOS с одним target xcodebuild иногда протискивается; симулятор включили — снова «своп + зависание». Короткий сеанс Playwright MCP (десять–пятнадцать минут) можно; Ctrl+Z на сессию или цепочка spawn_agent оставляют сирот Node, которые пробивают 16 ГБ — в сообществе на 16 ГБ + 8 ГБ zram уже воспроизводили «вся машина мертва».

Одной фразой: 16 ГБ — это «один главный проект + один набор тестов»; не «главный проект + полный набор контейнеров + браузерный агент + индекс IDE».

Для каких проектов нужны 32 ГБ

32 ГБ — не понты, а входной билет для проектов ниже. Общее у них: Codex — узкая строка счёта, компилятор и рантайм — основная сумма.

  • Монолит / мультипакетный репозиторий: один npm test или turbo run test поднимает линейку Node-воркеров;
  • Проекты iOS / macOS: xcodebuild, DerivedData, индекс кода — пики спокойно уходят за десяток ГБ; сверка UI с симулятором планируйте на 32 ГБ;
  • Codex + несколько Docker-сервисов: приложение, БД, очередь одновременно, агент меняет миграции и перезапускает стек;
  • Браузерный MCP / E2E: Playwright или Chrome DevTools копируют ещё одно дерево процессов; короткие сессии 32 ГБ тянут, длинные всё равно требуют ручной зачистки;
  • Параллельные сессии: два Codex на два репозитория или интерактив плюс пакетный codex exec.

32 ГБ не останавливают уже известный безграничный рост. Если у самого репозитория рабочая область порядка 1 ГБ, поставьте Codex потолок памяти: лучше упавшая задача, чем замёрзший рабочий стол. На Linux оберните так:

cgroup-потолок вокруг Codex, чтобы не утащить всю машину
# На машине 32 ГБ: 20G Codex, остальное системе / IDE / контейнерам
systemd-run --user --scope \
  --same-dir \
  --unit="codex-$(date +%H%M%S)" \
  -p MemoryMax=20G \
  -p MemorySwapMax=2G \
  -p CPUQuota=300% \
  codex

У macOS нет столь же удобного пользовательского cgroup. Реалистичнее: тяжёлую работу — на выделенный облачный Mac, локально оставить редактор и браузер. Сейчас у Nuvcloud наружу идут bare-metal ступени 16 ГБ и 24 ГБ — 24 ГБ закрывают большинство P3; если P4 должен держать симулятор, Xcode и Codex живут на постоянно включённой удалённой машине, а не на ноутбуке 16 ГБ, который жонглирует обоими. Отдельный счёт на узел агента удобно сверять со стоимостью hosted и своих macOS-раннеров GitHub Actions: CI на одноразовых runner, интерактивный Codex на Mac mini по дням — две книги, не один забитый ноутбук.

Выбор ступени по репозиторию и toolchain

Не начинайте с «купить 16 или 32». Спросите, что разбудит репозиторий. Таблица в порядке решения: первая подходящая строка — и стоп.

Репозиторий / режим работыВыборПочему
Скрипты, документация, маленький сервис, тесты без браузера8 ГБ доступноПик обычно < 3 ГБ, официальной рекомендации хватает
Средний Web, юнит-тесты + один dev server16 ГБP2 на 8 ГБ уже в подкачке; 16 ГБ — линия комфорта
Плюс контейнер базы16 ГБ выдержит, 32 ГБ спокойнееПик P3 11–15 ГБ: 16 ГБ желтеет, 32 ГБ не отбирает стол
iOS / Xcode, даже один target32 ГБ или удалённый MacКомпилятор голоднее CLI; 16 ГБ — лотерея
Playwright / браузерный MCP по умолчанию32 ГБ + выключать после использованияУтечка опаснее пика
Два репозитория параллельно или TUI + codex exec32 ГБСчёт примерно ×2, плюс запас системе

Переменная, которую часто забывают: диск и файловые дескрипторы. При утечке MCP мягкий лимит macOS в 256 дескрипторов может первым выдать Too many open files — выглядит как «сломался Codex», на деле пайпы и сироты съели квоту. Прежде чем спорить про RAM, смотрите ulimit -n и в ps — сколько ещё живых npx / mcp.

Конфиг выживания на малой памяти

Если пока только 8 ГБ или тесные 16 ГБ, сначала меняйте поведение, потом апгрейд. Список отсортирован по «польза / боль».

  1. По умолчанию ноль MCP. Браузер или инструменты Xcode — только когда нужны, потом убрать из ~/.codex/config.toml. xcodebuildmcp и Playwright не должны жить в глобальном дефолте.
  2. Интерактив коротко, пакеты через codex exec. Разовому патчу не нужен TUI; пакет экономит слой состояния интерфейса.
  3. Не вешайте Codex через Ctrl+Z. Дочерние MCP после этого часто продолжают жить. Выходите или detach в tmux.
  4. Сузить рабочий каталог. Стартовать в подпакете, не в корне монорепозитория на 40 000 файлов; держать dist, coverage, .next вне чтения.
  5. Ограничить вывод инструментов. На практике ставят потолок tool_output_token_limit, чтобы полный лог не раздул сразу контекст и локальный буфер.
  6. Смотреть процессы, а не только «тормозит». Если в ps aux | egrep 'codex|npx|mcp|node' десяток одинаковых деревьев MCP — сначала убить сирот, потом продолжать.
На 8 ГБ / 16 ГБ сначала ищите сирот MCP
ps aux | egrep 'codex|npx|playwright|mcp-server|xcodebuildmcp' | grep -v egrep
# После сессии: если ещё живы — сначала зачистка, потом следующий круг
# На macOS в «Мониторинге системы» сортируйте по «Память» и следите за node и Codex

Это не сделает P4 проектом для 8 ГБ. Это превратит P1 / P2 из «запускается» в «доводится». Апгрейд памяти лечит пик; конфиг лечит утечки и параллельность.

Когда выносить Codex на облачный Mac

Любые два пункта — и Codex вместе с тяжёлым toolchain пора снимать с ноутбука:

  • локально только 8 ГБ или 16 ГБ, а задача уже P3 / P4 / P5;
  • ту же сессию нужно продолжить в дороге, на Windows-хосте или общем компьютере;
  • версия Xcode должна быть изолирована от повседневной разработки на ноутбуке (особенно недели SDK и беты);
  • кто-то в команде прописал MCP глобальным дефолтом, и общая машина к обеду забита сиротами.

Облачный Mac mini — это не «более дорогой Codex». Это выделенная унифицированная память, нативный Unix-toolchain и грязная среда, которую можно выбросить по дням. Ноутбук на 8 ГБ пишет почту и читает документы; удалённый узел на 16 ГБ или 24 ГБ гоняет Codex, тесты и Xcode. Apple Silicon в простое тянет ночные задачи; SSH / VNC честнее, чем смотреть на крутилку ноутбука, который уже в подкачке.

Ноутбук на 8 ГБ едет в командировку, тяжёлую работу берёт постоянно включённый облачный Mac

Модель Codex CLI в облаке, но npm test, xcodebuild и MCP крутятся на той машине, которую вы выбрали. Bare-metal Mac mini Nuvcloud дают 16 ГБ / 24 ГБ унифицированной памяти, нативный macOS и выделенный Apple Silicon, тарификация по дням — как раз ступени «повседневный Web» и «контейнеры / лёгкий iOS» из этой статьи. Сессию агента — на удалённый узел: локально больше не спорить с Docker и симулятором за своп, а стабильность macOS подходит для длинных задач.

Сначала ступень по проекту, потом решение — RAM на коленях или в стойке — Смотреть тарифы, чтобы Codex делил ресурсы с toolchain, а не с вашим рабочим столом.

Частые вопросы

Какой официальный минимум памяти у Codex CLI? Хватит ли 8 ГБ?

Официальная документация по установке пишет минимум 4 ГБ и рекомендованные 8 ГБ. 8 ГБ тянут скрипты, документационные сайты и юнит-тесты маленького сервиса; средний Next.js уже уходит в подкачку. Docker, Xcode и браузерный MCP планируйте на 16 ГБ или 32 ГБ.

Модель же в облаке — зачем тогда 32 ГБ локально?

Инференс в облаке. Локальная память идёт на чтение репозитория, тестовые процессы, контейнеры, компилятор и MCP. Сборка iOS или Docker Compose на пике часто на порядок тяжелее самого процесса Codex.

Потянут ли 16 ГБ iOS-проект?

Несколько файлов Swift и редкий xcodebuild одного target иногда доходят, но давление памяти желтеет; симулятор включили — легко зависнуть. Предсказуемее держать Xcode и Codex на 24 ГБ / 32 ГБ или облачном Mac.

Почему машина на 16 ГБ тупеет после включения MCP?

Чаще всего после подвеса сессии или субагента npx / Playwright / xcodebuildmcp не выходят. Сначала уберите сирот через ps, браузерные MCP не держите дефолтом, включайте по необходимости.

Может ли Codex сам съесть десятки гигабайт?

В публичном issue анонимный RSS на среднем большом репозитории доходил до 18–29 ГБ, затем cgroup его убил. 32 ГБ — не страховка. На Linux задайте Codex отдельный MemoryMax; на macOS тяжёлые сессии спокойнее на выделенной машине.

Есть ли у Nuvcloud тарифы на 8 ГБ или 32 ГБ?

Публичные bare-metal Mac mini — 16 ГБ и 24 ГБ. 8 ГБ — это ваш ультрабук или VPS; нагрузку iOS + симулятор уровня 32 ГБ забирает удалённый узел 24 ГБ под Xcode, без стопки контейнеров локально — обычно выгоднее второго ноутбука на 32 ГБ.

Акция →