MongoDBは(少なくとも)利用可能なメモリを大量に消費するように見えますが、実際にはOSのVMMに任せて、メモリを解放するように指示します(MongoDBドキュメントのキャッシュを参照)。
MongoDBを再起動すると、すべてのメモリを解放できるはずです。
ただし、ある程度、MongoDBは実際にはメモリを「使用」していません。
たとえば、MongoDBのドキュメントからサーバーのメモリ使用量を確認しています...
プラットフォームによっては、マップされたファイルがプロセス内のメモリとして表示される場合がありますが、これは厳密には正しくありません。 Unixトップは、実際に適切なものよりもはるかに多くのmongodのメモリを表示する可能性があります。オペレーティングシステム(具体的には、OSに応じて仮想メモリマネージャ)は、「メモリマップトファイル」が存在するメモリを管理します。この番号は通常、「free-lmt」などのプログラムで表示されます。
これは「キャッシュ」メモリと呼ばれます。
MongoDBは、LRU(最も最近使用されていない)キャッシュアルゴリズムを使用して、リリースする「ページ」を決定します。これら2つの質問でさらに情報を見つけることができます...
- MongoDB制限メモリ
- MongoDBインデックス/RAMの関係
- Mongodはメモリ制限から開始します(できません 。)