Агентные кейсы
Разработка и DevOps

Отдельный cgroup на каждую сессию агента вроде Codex против свопа и брошенных процессов

Разработчик заметил, что систему загоняют в своп файлы в /tmp и процессы, брошенные агентами для кода вроде Codex. Он стал запускать каждую сессию агента в своём cgroup и добавил регулярную очистку tmp.

Сделано сCodex

Что сделали

Разработчик выяснил, откуда берётся сильный своп. Первая причина в /tmp на tmpfs, который хранится в оперативной памяти. Вторая в процессах, которые прежние сессии агентов для кода запустили и бросили. Он добавил часто запускаемую задачу, которая удаляет из tmp файлы, не использовавшиеся около двух часов и не открытые ни одной командой. А свой запускатель агентов переделал так, чтобы каждая сессия стартовала в отдельном cgroup. Когда задача заканчивается, все процессы этого cgroup завершаются.

Что получилось

Замеров в источнике нет. Автор пишет, что очистка и отдельные cgroup для сессий решили проблему со свопом и оставшимися процессами. Но это короткий комментарий на форуме, цифр «до» и «после» в нём нет.

На что обратить внимание

Прежде чем винить агентов, проверьте, действительно ли своп идёт от /tmp на tmpfs в оперативной памяти. Задача очистки удаляет только файлы, которые никто не держит открытыми.

Пояснение

cgroup (control group) это механизм ядра Linux, который объединяет процессы в группу. Группе можно ограничить ресурсы и завершить все её процессы разом. tmpfs это файловая система в оперативной памяти, поэтому файлы в ней занимают RAM.

Кому пригодится

Разработчикам на Linux, которые много запускают агентов для кода и замечают, что машина тормозит и уходит в своп.

Попробуйте сами с Codex

В моём репозитории [путь] напиши небольшой скрипт запуска агентов для [дистрибутив Linux или настройка systemd], который стартует каждую сессию агента для кода в отдельном cgroup и завершает все оставшиеся процессы этого cgroup, когда задача закончилась или упала. Ещё добавь задачу по расписанию, которая удаляет устаревшие файлы старше [число] часов в [папка tmp]. В конце запусти тестовую сессию, которая оставляет фоновый процесс, и покажи, что он убран. Прежде чем удалять файлы или завершать процессы вне теста, покажи, что будет удалено, и дождись моего подтверждения.

Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗

Читать оригинал ↗

Источник: news.ycombinator.com ·

Похожие кейсы

Репозиторий в виде 3D-города и аватары OpenClaw, Codex и Claude Code

Разработчик-одиночка сделал локальное 3D-пространство в браузере. Уже установленные агенты (OpenClaw, Hermes, Codex, Claude Code) ходят в нём аватарами и пишут код, а репозиторий выглядит как город. Проект вышел под лицензией MIT для Windows и Linux.

Пять вариантов редизайна админки за один запрос в Codex CLI

Пользователь Reddit попросил Codex переделать раздел админки и предложить пять вариантов дизайна. Ему понравились все пять, а сам Codex, по его словам, работает спокойнее других агентов в задачах по интерфейсу и рефакторингу.