所以我在这里读了另一篇文章 使用spsite.openweb()创建的spwebs处置.

目前,我只处理Spsite对象,从我的理解中,Spsite也应处置任何开放的SPWEB也应处置。似乎最好的做法是处理每个SPWEB。我会这样做的。

我的这篇文章的理由是:内存泄漏会是什么样?我有一个计时器工作每2分钟运行一次,并处理一些列表项目。同样,我只是处置Spsite对象,而不是SPWEB对象。在DEV上让它运行约一周后,sqlserver.exe进程约为1.7GB的使用内存。 SharePoint开始出现错误的错误。从那以后,我重新启动了SQL,它降低到320MB的内存。我不知道在安装计时器工作之前是多少,但是那时我们没有遇到这些错误。

由于我没有关闭SPWEB,我是否看到SQLServer的内存泄漏?还是在W3WP进程中发生共享记忆泄漏?任何清晰度都非常感谢!

谢谢,

有帮助吗?

解决方案

内存泄漏将在具有泄漏的代码的主机过程中表现出来。就SharePoint代码而言,这不会是SQL过程 - 您在这里看到的很可能仅仅是SQL通常会消耗尽可能多的内存(即任何未被清除/使用的东西通过其他过程)。如果您愿意,您可以钉住它,有时我会这样做(例如,开发VMS)。

因此,您可能会看到由于SharePoint代码而导致的泄漏:

  • W3WP.EXE用于从网页运行的代码
  • Owstimer.exe进行计时器工作
  • STSADM.EXE用于自定义STSADM命令
  • 在控制台应用程序的情况下,自定义EXE的过程

..ETC..

许可以下: CC-BY-SA归因
scroll top