"fork: ресурс временно недоступен" из git в MacOS El Capitan
Иногда, когда я использую Git и не могу сделать sudo команда, это сообщает
fork: Resource temporarily unavailable
Что это значит, и что мне с этим делать?
1 ответ
Решение
Эта ошибка ветвления обычно означает, что родительская программа не смогла выполнить один или несколько дочерних процессов, поскольку достигнут предел ресурса, либо максимально допустимое число процессов (EAGAIN ошибка) или максимально допустимый объем памяти (ENOMEM ошибка). Справочная страница Fork(2) гласит:
Fork() will fail and no child process will be created if:
[EAGAIN] The system-imposed limit on the total number of processes under execution would
be exceeded. This limit is configuration-dependent.
[EAGAIN] The system-imposed limit MAXUPRC (<sys/param.h>) on the total number of pro-
cesses under execution by a single user would be exceeded.
[ENOMEM] There is insufficient swap space for the new process.
Есть несколько способов наложить ограничения на OS X:
- Предел сеанса, установленный
ulimitкоманда. Вы можете просмотреть текущий лимит, запустивulimit -aи установить новый лимит, например,ulimit -u 1000установить максимальный предел срабатывания равным 1000. Этот лимит сохраняется до окончания текущего сеанса работы с терминалами. - Системные ограничения устанавливаются с помощью launchd в файле в
/Library/LaunchDaemons/limit.maxfiles.plist(только OS X 10.9+).
Для более подробной информации смотрите этот ответ.