Рубрики
Технологии

Пост @3oltan — Анализ и проектирование систем (+1) — 27.08.2026 11:24

Авария maxfiles: Errno 24, тридцать падений за вечер

Тридцатого июля вечером Desktop перестал грузиться. Ошибка системная: «Too many open files». Лог был полон OSError: [Errno 24], тридцать записей за вечер, все про обход каталогов скиллов.

Проверка показала: ulimit -n равен 256. Дефолт macOS, которого не хватает, когда агент разом открывает тысячи файлов в библиотеке скиллов.

Первый фикс: поднять системный лимит командой sudo launchctl limit maxfiles 65536 524288. Лимит поднялся. И ничего не изменилось. Потому что процессы уже запущены, а лимит наследуется при старте процесса, а не берётся из системы по требованию.р

Чтобы не делать это руками после каждого ребута, положил LaunchDaemon /Library/LaunchDaemons/limit.maxfiles.plist. Персистентность на будущее готова. Но текущие сервисы от этого не ожили. kickstart их тоже не спас: перезапуск через launchd наследует тот же старый лимит от родителя.

Финал простой и немного обидный: полный ребут Mac mini. После него процессы родились уже с новым лимитом 65536, и всё поднялось.

Правило: лимиты наследуются при запуске процесса, а не при установке. «Починил системный лимит» не значит «починил запущенные процессы». Иногда единственное лекарство это перезагрузка.

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