Забележка: Това решение работи/може да не работи с последните Mac OS (коментарите показват>10.13?). Очевидно промените са направени от съображения за сигурност.
Концептуално решението е приложимо - по-долу са няколко източника на дискусия:
- https://wilsonmar.github.io/maximum-limits/
- https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
- https://superuser.com/questions/433746/is-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7 -1
--
Имах същия проблем (изпълнение на различна операция, но все пак грешка „Твърде много отворени файлове“) и както казва Lese, изглежда е до лимита за „maxfiles“ на машината, работеща с mongod.
На Mac е по-добре да проверите ограниченията с:
sudo launchctl limit
Това ви дава:
<limit name> <soft limit> <hard limit>
cpu unlimited unlimited
filesize unlimited unlimited
data unlimited unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 709 1064
maxfiles 1024 2048
Това, което направих, за да заобиколя проблема, беше временно да задам лимита по-висок (моят първоначално беше нещо като soft:256, hard:1000 или нещо странно като това):
sudo launchctl limit maxfiles 1024 2048
След това изпълнете отново операцията по заявка/индексиране и вижте дали не работи. Ако не, и за да запазите по-високите ограничения (те ще се нулират, когато излезете от сесията на обвивката, в която сте ги задали), създайте файл '/etc/launchd.conf' със следния ред:
limit maxfiles 1024 2048
(или добавете този ред към съществуващия файл launchd.conf, ако вече имате такъв).
Това ще настрои максималния файл чрез launchctl на всеки шел при влизане.