MongoDB仮想メモリ使用量


5

アーカイブデータのMongoDBをテストしています。160M行のコレクションがあります。MongoDBインスタンスは、12 Gbの物理メモリボックスで76.2 Gbの仮想メモリを使用します;-) nullのスワップ。

仮想メモリ=物理+スワップと読みました。

私の場合、何が問題なのですか?これはmongoDB自体の問題ですか?

ありがとう

回答:


10

MongoDBはメモリマップファイルを使用します。これは、マシンで使用可能な実際の物理(またはスワップ)よりもはるかに大きくなる可能性があります。通常、使用される仮想メモリの合計は、その時点でのディスク上のすべてのデータのサイズになります。

常駐メモリは、実際に使用されるワーキングセットを表す統計値になりますが、ボックスのリソースと使用パターンによっては、時間の経過とともに増大し、ホストの合計物理RAMに近づく傾向があります。基本的に、OSが古いデータをページアウトする必要があると判断しない限り(メモリ負荷)、RAMに残ります。

MongoDBを再起動すると、基本的に最初からやり直します。したがって、実際の作業データセットの既知の時間枠がある場合(過去7日間のみを使用する場合など)、その期間後のセットサイズ(通常の予測可能な使用を前提とする)は、おおよその作業セットサイズを表しますRAMの。

詳細については、こちらのドキュメントをご覧ください。

http://www.mongodb.org/display/DOCS/Caching

http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage

最後に、MMS(無料)は、時間の経過とともにこれをうまくマッピングします-マップ済み、仮想、常駐、非マップ、および他の多くの統計(説明については、各グラフで「i」を探してください) 。

http://mms.10gen.com


「使用される仮想メモリの合計は、通常、結果としてディスク上のすべてのデータのサイズになります」という文で「ディスク」を定義してください。ディスクはmongoがインストールされているLinux上のマウント/ボリューム全体ですか、それともmongoがデータファイルを保存する物理データディレクトリですか?単に「ディスク」を置くだけではあまり意味がありません。
user2654744
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.