ドキュメントを挿入するためだけにmongodbを使用しています。私が使用するコレクション用に作成されたインデックスはありません。しかし、Mongodb が使用するメモリが高くなっていることがわかります。マシンには 20GB の RAM があり、完全に使用されています。この理由を知りたいのですが、これは正常ですか?
質問する
6450 次
1 に答える
4
ここでは、MongoDB がストレージとメモリをどのように使用するかについての優れた議論があります。
http://docs.mongodb.org/manual/faq/storage/
具体的には、Mongo メモリは、データとインデックスが存在するファイル (デフォルトでは /data/db ディレクトリ内のもの) をマップします。つまり、ファイルは OS の仮想アドレス空間にマップされ、MongoDB がページにアクセスするたびに (任意のファイルの一部) そのページは RAM に取り込まれ、OS によって mongod プロセスで使用できるすべての RAM が使用されるまでそこにとどまります (その時点で、最も最近使用されていないページが RAM からスワップアウトされます)。
データを挿入しているため、データファイルに書き込んでいます-書き込んでいるページはRAMにある必要があります(mongoはファイルに書き込みますが、メモリマップされているため、ディスクストレージであるかのようにメモリとやり取りします)。mongod が 20 GB 以上の RAM を使用している場合、データとインデックス (およびその他のオーバーヘッド) が 20 GB 以上であることを意味します。
于 2013-01-04T05:30:25.940 に答える