Под двадцать агентов нужно считать память по верхней границе

Кейс с замерами на живой машине: сколько RAM и ядер съедают ИИ-агенты, где они ломают сервер раньше памяти и что считать до запуска.

· 4 мин чтения

Год назад автор поднял первого агента и заложил память как под обычный скрипт. Через месяц на той же машине жило двадцать, через неделю она легла целиком. Ниже — цифры с боевых машин и три ошибки, каждая из которых стоила рабочего дня.

Агент ест от 90 до 680 МБ, и предсказать нельзя

Замер 9 сентября 2026, массовый перезапуск двадцати агентов на боевой машине. Разброс в семь с половиной раз. Столько же весит разница между агентом, который ждёт сообщения, и агентом, который разбирает документ на сорок страниц. Средним числом пользоваться нельзя: планировать надо по верхней границе, иначе машина ляжет, когда несколько агентов одновременно возьмутся за тяжёлое.

Практическое правило автора: 680 МБ на агента, который может взяться за тяжёлое, и 150 МБ на агента-дежурного, который только смотрит и отвечает коротко.

Пятнадцать агентов, поднятых циклом, кладут машину

Самая дорогая ошибка. Перезапуск агентов циклом с паузой в секунду уложил машину целиком, вместе с уже работающими. Причина в том, что подъём — это пик: агент читает свои файлы, поднимает сессию, разбирает настройки. Пятнадцать пиков в одну секунду складываются, а свопа на машине не было, значит падать было некуда.

Своп: на 4 ГБ обязателен, на 8 ГБ не нужен

На маленькой машине своп — это разница между «агент подтормозил» и «машина легла». Четыре гигабайта файлом, обычный swap-файл, ставится один раз.

На восьмигиговой автор своп не ставил намеренно. Если двадцать агентов упёрлись в восемь гигабайт, своп не спасёт, он сделал бы из падения многочасовое подвисание, которое хуже честного отказа. Там правильный ответ другой: потолки на каждого агента, а не своп.

Потолки на агента — то, что ломается раньше памяти

Эта ошибка самая подлая, на ней автор потерял день. При переезде на новую машину уехал файл потолков со старыми числами: 2 ГБ памяти и одно ядро на всех. Эти лимиты писались, когда агентов было трое, а село на них двенадцать.

Что было дальше: сборщик мусора системы убил агента посреди ответа человеку. Одно ядро на двенадцать дало очередь 10.87, это в десять раз больше нормы. Ответы шли по 10–18 минут вместо секунд. И главное: машина при этом выглядела здоровой. Все агенты помечены как работающие, лимиты внешних сервисов не тронуты, диск пустой. Ни одной ошибки в журналах. Задушенный потолком агент не жалуется, он просто медленно отвечает.

После пересчёта потолков под новое железо очередь стала 1.10. Те же двенадцать агентов, та же машина, разница только в двух числах в конфиге.

Браузер добавляет 400 МБ к каждому запуску

Если агент умеет открывать страницы, считайте отдельно. Chromium при запуске берёт около 400 МБ. Это меняет расчёт: три агента, которые могут одновременно полезть в браузер, это плюс гигабайт двести сверх всего остального. На четырёхгиговой машине без свопа этого хватит, чтобы всё упало.

Диск и процессор: что оказалось неважным

80 ГБ диска заняты на 21% при двадцати агентах и полугоде журналов. Диск — последнее, о чём стоит думать.

Процессор важен, но не так, как кажется. Агент почти всё время ждёт ответа от внешнего сервиса, а не считает. Ядра нужны не под вычисления, а чтобы очередь не выстраивалась, когда несколько агентов проснулись разом. Четыре ядра на двадцать агентов с запасом.

Где ставить: страна решает больше, чем железо

Агенты на подписке Claude обязаны жить на сервере за рубежом. России нет в списке стран, с которыми работает Anthropic. Это не обходится настройками, это просто условие. Половина российских VPS отпадает не по цене и не по железу, а по адресу. У части российских хостеров есть европейские площадки, и платить за них можно рублями с российской карты.

Заявленный в договоре SLA и фактическая доступность расходятся сильно. У одного из популярных вариантов за два месяца 2026 года набежало около 46 часов простоя в европейской зоне, по данным его же канала оповещений. Смотреть надо не обещание, а историю аварий.

Как повторить

  1. Посчитать верхнюю границу памяти: 680 МБ на тяжёлого агента, 150 МБ на дежурного.
  2. Добавить 400 МБ за каждого агента, кто может одновременно открыть браузер.
  3. Меньше 8 ГБ — поставить своп файлом.
  4. Задать потолок памяти и процессора на каждого агента. Записать эти потолки рядом с размером машины, чтобы при следующем переезде их пересчитали, а не перенесли.
  5. Поднимать агентов по одному, между подъёмами проверять свободную память через free -m и ждать, пока свободной не станет больше 1200 МБ.
  6. Меняешь железо — той же сессией правь потолки.