Rumah > Soal Jawab > teks badan
mongodb占物理内存,我们一台服务器8G内存,没有开mongodb的时候,物理内存只占11%,当开了mongodb,mongodb进程的内存显示是60M,但物理内存已经是99%,请问是什么原因?有没有优化的办法,我们是在WINDOWS系统.
伊谢尔伦2017-04-24 09:15:16
Saya masih ingat bahawa seorang bernama Tang Jianfa berkata: MongoDB tidak memakan memori, tetapi niat asalnya adalah untuk sengaja mengisi memori.
大家讲道理2017-04-24 09:15:16
Mongodb sendiri tidak melakukan pengurusan memori, dan pengurusan memorinya bergantung sepenuhnya kepada sistem. Anda boleh menggunakan Monitor Prestasi Sistem untuk menyemak memori dan ingatan maya. Secara ringkasnya, mongdb akan memakan sebanyak memori yang anda miliki. Ia sangat tamak sehingga ia akan meletakkan kebanyakan data panas dalam ingatan untuk meningkatkan prestasi.
Pelayan kami ialah Windows Server 2008, dengan memori 32G Selepas berjalan untuk satu tempoh masa, semuanya telah digunakan, tetapi prestasinya mengejutkan, bukan sahaja terdapat mongodb pada pelayan itu, jadi ia sering menjejaskan program lain. Kemudian kami cuba menggunakan Windows System Resource Manager WSRM mengehadkan memori proses mongodb Anda boleh mencubanya.
Tetapi saya mula menggunakan mongodb pada tahun sebelumnya Versi pada masa itu agak lama Selepas mengehadkan ingatan, mongodb sangat tidak stabil dan kadang-kadang digantung, ia secara amnya bermakna memori yang dipetakan tidak dapat ditemui. Jadi kemudian kami berhenti mengehadkan memori dan beralih kepada menggunakan arahan mongodb untuk melepaskan memori pada titik tetap setiap hari {closeAllDatabases:1}
Perintah ini juga mempunyai kos, ia akan disekat sehingga arahan selesai, dan kecekapan akan dikurangkan serta-merta selepas ia dikeluarkan, dan ia akan mengambil tempoh "pemanasan" untuk pulih secara perlahan.
Saya fikir kaedah yang terakhir adalah baik, dan melalui pemerhatian sejak dua tahun lalu, semuanya agak stabil. Sudah tentu, adalah bagus jika anda boleh memberikan mongodb pelayan yang berasingan.
迷茫2017-04-24 09:15:16
Enjin MongoDB baharu akan menganggap dirinya sebagai satu-satunya perkhidmatan penting dalam sistem, jadi ia akan cuba untuk menduduki memori sebanyak cache sendiri (bukan cache sistem pengendalian). Jika anda perlu menyimpan memori untuk proses lain, atau mempunyai berbilang kejadian MongoDB, anda boleh menggunakan parameter --cacheSizeGB
untuk mengehadkan saiz cache MongoDB.
怪我咯2017-04-24 09:15:16
Saya menulis skrip untuk mengosongkan cache setiap awal pagi. . .
http://onwise.xyz/2017/02/23/...