web-dev-qa-db-ja.com

mongodbのメモリリークまたは大きなコレクション?

mongo 2.4.6 x64
RAM 24 GB

通常の作業メモリでは、約10GBを消費します。
その後、5日間の全メモリの最大90%を消費するdb(アーカイブ生データの作成)メモリからデータの読み取りを開始しました。そして、一日に0.1%進んでください。それは正常な状況であり、oom-killerが来るとどうなりますか?

mongotop 
 insert query update delete getmoreコマンドは、マップされたvsize res障害をフラッシュします。 0 0 21513g 43028g 1.49g 0。:0.1%0 0 | 0 0 | 0 190b 3k 31レプリカPRI 02:25:08 
 * 0 * 0 * 0 * 0 0 1 | 0 0 21513g 43028g 1.49g 0。:0.1%0 0 | 0 0 | 0 62b 3k 31レプリカPRI 02:25:09 
 * 0 * 0 * 0 * 0 0 2 | 0 0 21513g 43028g 1.49g 0。:0.1%0 0 | 0 0 | 0 190b 3k 31レプリカPRI 02:25:10 
 * 0 * 0 * 0 * 0 0 1 | 0 0 21513g 43028g 1.49g 0。:0.1%0 0 | 0 0 | 0 62b 3k 31レプリカPRI 02:25:11 
 
 
 free -m 
キャッシュされた使用済みの共有バッファの合計
 Mem: 24031 23835 195 0 33 1542 
-/ +バッファー/キャッシュ:22259 1771 
スワップ:511 4 507

コレクション= 20TB

2
ufik

これは何度も尋ねられ回答されたため、いくつかのFAQセクションがあります。最初に、常駐メモリの使用量とキャッシュがいっぱいになることの違いを理解する必要があります(非常に異なります)次に、メモリマップされたファイルの一般的な動作を確認する必要があります。MongoDBドキュメントのいくつかの開始点を次に示します。

http://docs.mongodb.org/manual/faq/fundamentals/#does-mongodb-require-a-lot-of-ramhttp://docs.mongodb.org/manual/faq/diagnostics /#memory-diagnostics

ショートバージョンです。これはメモリリークではありません。また、データセットが使用可能な物理メモリを超えた場合の時間の経過による予想される動作です。

2
Adam C