MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Твърде много отворени файлове, като същевременно осигурите индекс mongo

Забележка: Това решение работи/може да не работи с последните 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 на всеки шел при влизане.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Сортиране на вложен масив от обекти

  2. Съставен ключ MongoDB

  3. Запазете подмножество от колекция MongoDB в друга колекция

  4. Има ли конвенция за именуване на колекция в MongoDB?

  5. Защо mongoose използва схема, когато ползата от mongodb се предполага, че е без схема?