sql >> Databasteknik >  >> NoSQL >> MongoDB

För många öppna filer samtidigt som du säkerställer indexmongo

Obs! Den här lösningen fungerar/kanske inte fungerar med nyare Mac OS (kommentarer anger>10.13?). Tydligen har ändringar gjorts av säkerhetsskäl.

Konceptuellt gäller lösningen - följande är några diskussionskällor:

  • 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

--

Jag har haft samma problem (att köra en annan operation, men fortfarande ett "För många öppna filer"-fel), och som lese säger, det verkar vara nere på "maxfiles"-gränsen på maskinen som kör mongod.

På en mac är det bättre att kontrollera gränser med:

sudo launchctl limit

Detta ger dig:

<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  

Vad jag gjorde för att komma runt problemet var att tillfälligt sätta gränsen högre (min var ursprungligen något i stil med mjuk:256, hård:1000 eller något konstigt sånt):

sudo launchctl limit maxfiles 1024 2048

Kör sedan frågan/indexeringsoperationen igen och se om den går sönder. Om inte, och för att behålla de högre gränserna (de kommer att återställas när du loggar ut från skalsessionen du har ställt in dem på), skapa en '/etc/launchd.conf'-fil med följande rad:

limit maxfiles 1024 2048

(eller lägg till den raden i din befintliga launchd.conf-fil, om du redan har en).

Detta kommer att ställa in maxfilen via launchctl på varje skal vid inloggning.



  1. MongoDB Regex-sökning på heltalsvärde

  2. Hur får man junit-testerna att använda den inbäddade mongoDB i en springboot-applikation?

  3. Flytta underfält till toppnivå i projektion utan att lista alla nycklar

  4. Förhindra dubbelinloggning med FOSUserBundle