SOの質問/答えのコメントで量子によってリンクが正確である、「ワーキングセット」は基本的にお使いのシステムで使用中/アクティブになり、データとインデックスの量です。
db.stats()
データセット全体とインデックス全体をRAMに置く必要があると思わない限り、それが何であるかはわかりません。つまり、そのデータベースの最大ワーキングセットは計算できますが、実際のアクティブワーキングセットは計算できません。最大は次の合計です。
- dataSize-このデータベースに保持されているデータの合計サイズ
- indexSize-このデータベースで作成されたすべてのインデックスの合計サイズ
あなたの場合、貼り付けた出力を考えると、その最大値は約30.45 MiBです。
実際のメモリ使用量を追跡するには、からの数値db.stats()
とメモリグラフ(特に常駐メモリ)を無料の監視ツール-MMSで利用できるようにすることをお勧めします。
アップデート(2013年4月8日):
バージョン2.4 は、serverStatusコマンドにワーキングセットサイズ見積もりを追加しました。これは単なる見積もりですが、ガイドとして使用したり、上記の他の数値や見積もりがMongoDBインスタンスにとって意味があるかどうかを確認したりできます。
アップデート(2016年9月):
私の元の回答から3年後、状況はかなり複雑になりました。一般に、データとインデックスのサイズを取得することは、出発点としてはまだ十分です。しかし、MongoDBで物事を理解することは、現在使用しているストレージエンジンに依存します。さらに、バージョン3.0では、コレクションレベルのロック作業の一環として、上記でリンクされたMMAPのワーキングセットエスティメータが削除されました(SERVER-13783を参照)。(たとえば)今そこにあるキャッシュ統計のためのWiredTiger
代替では、新しいエンジンへのジャンプをしたと仮定してエンジンが。以下のためにMMAP
、一般的な推奨事項は、見ているページフォルト、データをメモリにフィットしているか否かのプロキシとしてメトリック。