【问题标题】:mongod.exe service memory keeps increasing , but not decreasemongod.exe 服务内存不断增加,但不减少
【发布时间】:2014-09-09 05:57:10
【问题描述】:

我们已经在 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 服务内存。以及实施的最佳实践。

【问题讨论】:

  • 您说您的服务器正在消耗 RAM,预计速度会很快 MongoDB 尝试将数据放入 RAM 并保留它。这是基于使用内存映射文件的存储引擎:docs.mongodb.org/manual/faq/storage - 那么你有一个具体的问题吗? (崩溃?数据库变慢了?,...)
  • 在消耗 RAM 时,应用程序崩溃。
  • 您说的是“客户端”(用 C# 开发)而不是服务器,对吧?

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


【解决方案1】:

这是正常的,无需担心。 MongoDB 尽可能多地获取内存来缓存尽可能多的数据。但是,MongoDB 只获取其他进程不需要的内存。所以当另一个进程需要更多内存时,MongoDB持有的内存就会被释放。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 2012-05-30
      • 1970-01-01
      • 2019-11-11
      • 2014-11-13
      • 2014-06-14
      相关资源
      最近更新 更多