4

私たちは、wiredtiger に移行しましたが、mongodb がシステムのメモリの 90% を使用しており、メモリ使用量が徐々に増加していることがわかりました。ゆっくりと膨らんでいくようです。mongo 2.x で mmap を使用した場合、wiredtiger の前はメモリが 8% でした。

オペレーティングシステムがプロセスを強制終了するのではないかと心配しています。これは正常な動作ですか?

db.serverStatus() - https://gist.github.com/henryoswald/8ff9cf917e63c2e983dd

4

1 に答える 1

3

mmap と WiredTiger には、メモリの使用方法に大きな違いがあります。

mmap は実際にはメモリ マッピングを使用するため、データベース キャッシュは実際には OS のキャッシュとして考慮されます。

WiredTiger は、アプリケーションの開始時に定義されたメモリ プールを使用します。ドキュメントを参照

システムのメモリ量に応じて、デフォルトで WiredTiger プールに 1GB またはシステム RAM の半分を使用する必要があります。(これで 8% から 58% 程度に跳ね上がることが説明できます)

しかし、「90% までゆっくりと忍び寄る」べきではありません。それはさらに調査する価値があります。しかし、そのためには、より多くの情報を確認する必要があります。db.serverStatus()、またはメモリ使用量を見つけるために使用する方法、またはそのサーバーインスタンスについて見つけて共有できるその他のもの。

于 2015-07-19T14:44:56.043 に答える