【问题标题】:Memory Leak using msxml3.dll使用 msxml3.dll 的内存泄漏
【发布时间】:2012-03-08 17:36:39
【问题描述】:

目前在具有 32GB 内存的 Windows Server 2008 R2 Standard 上。

一旦服务器达到大约 50% 的内存使用率(18GB,其中 13GB 用于 SQL Server (2008)),XMLHTTP 请求就会发生一些奇怪的事情。我尝试过使用"Microsoft.XMLHTTPMSXML2.ServerXMLHTTP,但我得到了相同的结果。

我收到 2 个与 msxml3.dll 文件相关的不同错误:

 Error #: -2146697211
 The system cannot locate the resource specified.  

 Error #: -2147024888
 Not enough storage is available to process this command.  

重启服务器后,一切似乎都正常,至少现在,我们会看到内存使用量何时开始增加。

我已经搜索了一段时间的解决方案,发现除了重新启动服务器之外似乎没有任何工作,没有尝试重新启动 IIS,但我想知道为什么会突然发生这种情况。

【问题讨论】:

  • 为什么要使用 T-SQL 中的这个 COM 对象?强烈推荐 CLR(或者干脆不尝试从 SQL Server 内部访问网页)。
  • 嗨 Aaron,脚本是经典 ASP,它不是从 SQL 执行的,当服务器达到高内存时 ASP 脚本崩溃,主要与 SQL 有关。
  • 所以你认为因为 SQL Server 占用了 13GB 的磁盘空间,所以它一定是相关的?
  • 那是它开始发生的时候.. idk 还有什么可以做的。
  • 我建议显示您的实际 ASP 代码并将 sql server 从标签中取出。如果您的 XMLHTTP 请求由于某种泄漏而耗尽了所有可用内存,那么它是由 SQL Server 共享还是由其他东西共享并不重要。我假设您为 SQL Server 设置了max server memory,对吧?

标签: sql-server-2008 asp-classic windows-server-2008 windows-server-2008-r2


【解决方案1】:

如果你的意思是只为 SQL Server 保留 13GB 内存,你需要告诉别人。现在,您已经告诉 SQL Server 如果需要,可以接管服务器。

EXEC sp_configure 'show adv', 1;
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'max server memory', 13000;
RECONFIGURE WITH OVERRIDE;
GO

现在重新启动 SQL Server。这并不能保证 SQL Server 不会使用超过 13 GB,因为此设置仅控制其内存使用的某些方面,但它会阻止 SQL Server 接管该框。

这是我假设你已经设置了你所说的设置:

18GB,其中 13GB 用于 SQL Server (2008)

【讨论】:

  • 服务器上有32GB,从来没有超过18GB,我认为我不应该太担心SQL的最大值,因为还有很多空间可以达到32GB,对吗?
  • 显然不是,如果您是说 SQL Server 导致您的 MSXML 组件因内存而失控,而您不必费心限制 SQL Server 的内存——这里没有加起来。/
  • 如果 SQL 运行超过 13GB,限制它对性能有何影响?
  • 好吧,我说的是 13GB,但听起来你总共有 18GB 和 13GB 分配给 SQL Server。因此,也许 13GB 不是您的神奇数字,您需要进行试验才能找到最佳位置。您可以在在线图书msdn.microsoft.com/en-us/library/ms180797.aspxmsdn.microsoft.com/en-us/library/ms178067.aspxmsdn.microsoft.com/en-us/library/ms177455.aspx 中了解这些上限。
  • 一个对象没有被关闭..一旦我将它设置为空,错误就没有发生过,同样的压力水平..我是个白痴;),我给了你最好的答案坚持..再次感谢亚伦!
猜你喜欢
  • 2011-05-22
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 2013-10-21
  • 2014-11-03
  • 1970-01-01
  • 2021-11-21
相关资源
最近更新 更多