web-dev-qa-db-ja.com

MongoDBがWindowsサーバーのすべてのメモリを使用していない

Windowsで実行されているスタンドアロンのMongoDBインスタンスがあります。最近動作が遅くなり、トラブルシューティングで次の症状が見つかりました。

  1. 低速化は通常、膨大なコレクションに対する全文検索クエリの後に発生します。これは、コレクション内の多くのページをディスクからメモリにスワップするため、他のコレクションのデータがメモリから圧迫されるためだと思います。
  2. サーバーのメモリ使用量の上限は約55%です。サーバー(Win2012)には32GBのメモリがありますが、MongoDBは16GBを超えて利用しようとはしていません。

MongoDBのメモリ使用量を制限するQ&Aをいくつか見ましたが、MongoDBをもっと貪欲にするように奨励する方法については触れていません。

誰かが同様の問題の経験がありますか?

  • MongoDB:3.2.0
  • ストレージエンジン:WiredTiger
  • OS:Win2012
  • メモリ:32GB

ありがとう

2
Lee

理由を理解した、 ここ が説明です。

wiredTigerのデフォルトのキャッシュサイズ制限は60%RAM-1GBで、大容量メモリのシステムでは上書きする必要があります。

0
Lee

インデックスサイズがRAMに適合していることを確認します。また、WiredTigerを使用すると、MongoDBはWiredTigerキャッシュとファイルシステムキャッシュの両方を利用します。

最大10 GBのRAMを搭載したシステムの場合、新しいデフォルト設定は3.0デフォルト設定以下です(MongoDB 3.0の場合、WiredTigerキャッシュは、1 GBまたはインストールされている物理RAMの半分のいずれか大きい方を使用します)。

RAMが10 GBを超えるシステムの場合、新しいデフォルト設定は3.0設定よりも大きくなります。

MongoDBは、ファイルシステムキャッシュを介して、WiredTigerキャッシュで使用されていないすべての空きメモリを自動的に使用します

https://docs.mongodb.com/manual/core/wiredtiger/

0
Aayushi