0
MongoDBを使用して、約300万のレコードを含むコレクションから列を削除しようとしています。私は、このコマンドを実行すると、それはRAMが不足し、サーバーがまずいされており、物理的に再起動が必要になるまで
db.Listing.update({}, { $unset: { Longitude: 1 } }, false, true);
は、サーバー上のRAMが上がるし続けています。サーバーを停止させない大きなコレクションから列を削除するには、より良い方法がありますか?
mongodがシステムにあるすべてのものを使用しているように、リソースをmongodに限定しないようにしてくださいと言うのは面白いです。私はLinuxを使用していない、私は実際にはWindows Server 2008を使用しています。問題は、mongodのWindows Server 2008の実装はまだ非常に良いではないことができますか?私が気付いたもう一つのことは、コレクションをキャッシュするために使用するメモリをmongodがキャプチャしますが、メモリを解放することはありません。キャッシュに残っているので、mongodサービスを頻繁に再起動して、 – Justin
すべての実装では、メモリマップファイルが使用されています。そのためにメモリを割り当てるのはOSの仕事です。そのリンクのセクションに「キャッシュされた」メモリが含まれていることに気がつきましたか?それはあなたがすべての記憶を意味するのでしょうか? –