NB: Deze oplossing werkt wel/niet met recente Mac OS'en (opmerkingen geven>10.13 aan?). Blijkbaar zijn er om veiligheidsredenen wijzigingen aangebracht.
Conceptueel is de oplossing van toepassing - hier volgen enkele bronnen van discussie:
- 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
--
Ik heb hetzelfde probleem gehad (het uitvoeren van een andere bewerking, maar nog steeds een "Te veel open bestanden"-fout), en zoals Lese zegt, lijkt het neer te komen op de 'maxfiles'-limiet op de machine waarop mongod draait.
Op een Mac is het beter om limieten te controleren met:
sudo launchctl limit
Dit geeft je:
<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
Wat ik deed om het probleem te omzeilen was om de limiet tijdelijk hoger te zetten (de mijne was oorspronkelijk zoiets als zacht:256, hard:1000 of zoiets raars):
sudo launchctl limit maxfiles 1024 2048
Voer vervolgens de query/indexeringsbewerking opnieuw uit en kijk of deze breekt. Als dat niet het geval is, en om de hogere limieten te behouden (ze worden gereset wanneer u uitlogt uit de shell-sessie waarop u ze hebt ingesteld), maakt u een '/etc/launchd.conf'-bestand met de volgende regel:
limit maxfiles 1024 2048
(of voeg die regel toe aan je bestaande launchd.conf-bestand, als je er al een hebt).
Dit zal de maxfile instellen via launchctl op elke shell bij het inloggen.