利用可能なメモリが 2GB あり、dataSize が現在約 4GB で、ドキュメントが 500 万を少し下回っているのに、Mongo が 300 ~ 400MB を超えるメモリを消費しない理由を誰か教えてもらえますか?
大量のドキュメントを処理するクエリでも、メモリ消費量は急増しません。同じサーバーで他のプロセスをいくつか実行していますが、New Relic を見ていると、メモリ消費量が 500MB を超えることはありません。
この場合に問題があるかどうかはわかりませんが、サーバーは KVM で仮想化されています。64ビットバージョンを使用しているため、32ビットの制限はありません。
cat /proc/meminfoを編集
MemTotal: 2051488 kB
MemFree: 205420 kB
Buffers: 8472 kB
Cached: 1346496 kB
SwapCached: 43224 kB
Active: 1208548 kB
Inactive: 551952 kB
Active(anon): 162448 kB
Inactive(anon): 243196 kB
Active(file): 1046100 kB
Inactive(file): 308756 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4194300 kB
SwapFree: 4041128 kB
Dirty: 812 kB
Writeback: 0 kB
AnonPages: 397844 kB
Mapped: 222180 kB
Shmem: 72 kB
Slab: 40728 kB
SReclaimable: 28304 kB
SUnreclaim: 12424 kB
KernelStack: 1800 kB
PageTables: 13832 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 5220044 kB
Committed_AS: 1404372 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 9888 kB
VmallocChunk: 34359728471 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 53228 kB
DirectMap2M: 2043904 kB