MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Quá nhiều tệp đang mở trong khi đảm bảo chỉ mục mongo

NB: Giải pháp này không / có thể không hoạt động với Mac OS gần đây (nhận xét cho biết> 10.13?). Rõ ràng, các thay đổi đã được thực hiện vì mục đích bảo mật.

Về mặt khái niệm, giải pháp được áp dụng - sau đây là một số nguồn thảo luận:

  • 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

-

Tôi đã gặp vấn đề tương tự (thực hiện một thao tác khác, nhưng vẫn xảy ra lỗi "Quá nhiều tệp đang mở") và như lese nói, nó dường như đã xuống đến giới hạn 'maxfiles' trên máy chạy mongod.

Trên máy mac, tốt hơn nên kiểm tra các giới hạn bằng:

sudo launchctl limit

Điều này mang lại cho bạn:

<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  

Những gì tôi đã làm để giải quyết vấn đề là tạm thời đặt giới hạn cao hơn (ban đầu của tôi là một cái gì đó như soft:256, hard:1000 hoặc một cái gì đó kỳ lạ như vậy):

sudo launchctl limit maxfiles 1024 2048

Sau đó, chạy lại thao tác truy vấn / lập chỉ mục và xem nó có bị hỏng không. Nếu không, và để giữ các giới hạn cao hơn (chúng sẽ đặt lại khi bạn đăng xuất khỏi phiên shell mà bạn đã đặt), hãy tạo tệp '/etc/launchd.conf' với dòng sau:

limit maxfiles 1024 2048

(hoặc thêm dòng đó vào tệp launcd.conf hiện có của bạn, nếu bạn đã có).

Thao tác này sẽ đặt maxfile thông qua launcherctl trên mọi trình bao khi đăng nhập.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose luôn trả về một mảng trống NodeJS

  2. Miền tùy chỉnh Heroku không hoạt động

  3. MongoDB $ pull mảng 2 cấp

  4. Giao dịch trong MongoDB

  5. Cơ sở dữ liệu MongoDB và Thống kê Bộ sưu tập