NB: Questa soluzione funziona/potrebbe non funzionare con i recenti sistemi operativi Mac (i commenti indicano>10.13?). Apparentemente, sono state apportate modifiche per motivi di sicurezza.
Concettualmente, la soluzione si applica:di seguito sono riportate alcune fonti di discussione:
- https://wilsonmar.github.io/maximum-limits/
- https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
- https://superuser.com/questions/433746/is-there-a-fix-for-toomany-open-files-in-system-error-on-os-x-10-7 -1
--
Ho avuto lo stesso problema (eseguendo un'operazione diversa, ma ancora un errore "Troppi file aperti") e, come dice lese, sembra essere dovuto al limite di "maxfiles" sulla macchina che esegue mongod.
Su un Mac, è meglio controllare i limiti con:
sudo launchctl limit
Questo ti dà:
<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
Quello che ho fatto per aggirare il problema è stato impostare temporaneamente il limite più alto (il mio era originariamente qualcosa come soft:256, hard:1000 o qualcosa di strano del genere):
sudo launchctl limit maxfiles 1024 2048
Quindi riesegui l'operazione di query/indicizzazione e verifica se si interrompe. In caso contrario, e per mantenere i limiti più alti (si reimpostano quando esci dalla sessione della shell su cui li hai impostati), crea un file '/etc/launchd.conf' con la seguente riga:
limit maxfiles 1024 2048
(o aggiungi quella riga al tuo file launchd.conf esistente, se ne hai già uno).
Questo imposterà il maxfile tramite launchctl su ogni shell al login.