3

MongoDBのメモリ消費量について疑問に思っています。対応するマニュアルのセクションやこのトピックに関するその他の質問を読みましたが、この状況は異なると思います。アドバイスをお願いできますか?

これは、DBログファイルからのエラーです。

Fri Oct 26 20:34:00 [conn1] ERROR: mmap private failed with out of memory. (64 bit build) 
Fri Oct 26 20:34:00 [conn1] Assertion: 13636:file /docdata/mongodb/data/xxx_letters.5 open/create failed in createPrivateMap (look in log for more information)

これらはデータファイルです:

total 4.0G
drwxr-xr-x 2 mongodb mongodb 4.0K 2012-10-26 20:21 journal
-rw------- 1 mongodb mongodb  64M 2012-10-25 19:34 xxx_letters.0
-rw------- 1 mongodb mongodb 128M 2012-10-20 22:10 xxx_letters.1
-rw------- 1 mongodb mongodb 256M 2012-10-24 09:10 xxx_letters.2
-rw------- 1 mongodb mongodb 512M 2012-10-26 10:04 xxx_letters.3
-rw------- 1 mongodb mongodb 1.0G 2012-10-26 19:56 xxx_letters.4
-rw------- 1 mongodb mongodb 2.0G 2012-10-03 11:32 xxx_letters.5
-rw------- 1 mongodb mongodb  16M 2012-10-26 19:56 xxx_letters.ns

これは次の出力ですfree -tm

             total       used       free     shared    buffers     cached
Mem:          3836       3804         31          0         65       2722
-/+ buffers/cache:       1016       2819
Swap:         4094        513       3581
Total:        7930       4317       3612

最大のデータファイルが収まるように、十分なシステムメモリが本当に必要ですか?なぜファイルをそれほど大きくするのですか?(上記のシーケンスから、次のファイルは4GBになると思います。)RAMを拡張しようとしますが、データは最終的にさらに大きくなります。それとも、これはメモリの問題ではありませんか?

64ビットのLinuxシステムを使用しており、64ビットのMongoDB2.0.7-rc1を使用しています。十分なディスク容量があり、CPU負荷は0.0です。これはuname -a

Linux xxx 2.6.32.54-0.3-default #1 SMP 2012-01-27 17:38:56 +0100 x86_64 x86_64 x86_64 GNU/Linux
4

1 に答える 1

10

ulimit -aは謎を解きました:

core file size (blocks, -c) 1
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30619
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) 3338968
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 30619
virtual memory (kbytes, -v) 6496960
file locks (-x) unlimited

最大メモリサイズと仮想メモリを無制限に設定し、すべてを再起動した後、機能しました。ところで、次のファイルは再び2GBでした。

ご迷惑をおかけして申し訳ありませんが、私は必死でした。たぶん、これは誰かが同様の問題で「グーグル」するのを助けるでしょう。

于 2012-10-26T19:17:04.247 に答える