0

MongoDBを使用して、最大300万件のレコードを含むコレクションから列を削除しようとしています。

db.Listing.update( {}, { $unset: { Longitude: 1 } }, false, true);

このコマンドを実行すると、サーバーのRAMは、RAMがなくなるまで上昇し続けます。その後、サーバーはホースで接続され、物理的に再起動する必要があります。サーバーをホースでつなぐことのない大規模なコレクションから列を削除するためのより良い方法はありますか?

4

1 に答える 1

0

あなたの問題はシステムのOOMキラーだと思います。mongodのリソースを制限していないことを確認する必要があります。これを参照してください:http ://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage

http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/

virtを使用している場合。openvzのようなシステムでは、停止したり、オーバーコミット機能を調整したりすることができます。

于 2011-02-15T00:56:37.367 に答える