mongod.exe服务内存不断增加,但不会减少

时间:2014-09-09 05:57:10

标签: mongodb out-of-memory mongodb-.net-driver

我们在asp.net应用程序中使用C#驱动程序实现Mongo数据库。我们正面临记忆问题。 mondod.exe服务保持增加但不减少,并且接受自动连接并结束连接。

我们为mongo db连接实现了下面提到的代码:

internal static MongoDatabase GetDatabase()
{
 string con = ConfigurationManager.ConnectionStrings["MongoDBConnString"].ConnectionString;
 string databaseName = MongoUrl.Create(con).DatabaseName;

 MongoClient client = new MongoClient(con);
 MongoServer server = client.GetServer();
 MongoDatabase db = server.GetDatabase(databaseName);

 if (server != null)
  if (server.State == MongoServerState.Connected)
   server.Disconnect();
 return db;
}

请建议如何减少mondod.wxe服务内存。和实施的最佳实践。

2 个答案:

答案 0 :(得分:0)

这是正常的,无需担心。 MongoDB尽可能多地占用内存,以尽可能多地缓存数据。但是,MongoDB只抓取其他进程不需要的内存。因此,当另一个进程需要更多内存时,MongoDB保存的内存将被释放。

答案 1 :(得分:0)

如果您运行的是任何版本的Windows Server 2008 R2或Windows 7,请安装修补程序以解决Windows上内存映射文件的问题。

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

http://support.microsoft.com/kb/2731284