MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Terlalu banyak file yang terbuka sambil memastikan indeks mongo

NB: Solusi ini tidak / mungkin tidak berfungsi dengan Mac OS terbaru (komentar menunjukkan> 10.13?). Rupanya, perubahan telah dilakukan untuk tujuan keamanan.

Secara konseptual, solusinya berlaku - berikut adalah beberapa sumber diskusi:

  • 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

--

Saya memiliki masalah yang sama (mengeksekusi operasi yang berbeda, tetapi tetap saja, kesalahan "Terlalu banyak file yang terbuka"), dan seperti yang dikatakan lese, tampaknya ini disebabkan oleh batas 'maxfiles' pada mesin yang menjalankan mongod.

Di mac, lebih baik memeriksa batas dengan:

sudo launchctl limit

Ini memberi Anda:

<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  

Apa yang saya lakukan untuk mengatasi masalah adalah untuk sementara menetapkan batas yang lebih tinggi (saya awalnya sesuatu seperti lunak:256, keras:1000 atau sesuatu yang aneh seperti itu):

sudo launchctl limit maxfiles 1024 2048

Kemudian jalankan kembali operasi kueri/pengindeksan dan lihat apakah itu rusak. Jika tidak, dan untuk menjaga batas yang lebih tinggi (mereka akan diatur ulang saat Anda keluar dari sesi shell yang telah Anda atur), buat file '/etc/launchd.conf' dengan baris berikut:

limit maxfiles 1024 2048

(atau tambahkan baris tersebut ke file launchd.conf yang ada, jika Anda sudah memilikinya).

Ini akan mengatur maxfile melalui launchctl pada setiap shell saat login.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Referensi Dokumen Lain dengan String daripada ObjectId

  2. Node.js Mongoose.js string ke fungsi ObjectId

  3. MongoDB Temukan Kecocokan Array yang Tepat tetapi urutan tidak masalah

  4. Cara Mengonversi Tampilan MongoDB menjadi Koleksi

  5. Dokumen Baca dan sisipkan dengan penguncian/transaksi di nodejs dengan mongodb