我正在开发一个非常大的ASP.NET项目,它包含多种不同的语言,包括C#,jquery,Javascript,Ajax,SQL等。
该项目与拨号器配合使用,因此输入一个号码,并使用耳机与另一侧的客户端进行通信。我们最近收到了一位客户关于攀登内存使用情况的投诉,他们只能在内存变得如此之高之前拨打大约25次,系统变得如此缓慢且无响应,他们必须退出,关闭程序然后登录再次。 (我们有一个WebBrowser类来处理我们的应用程序)。
试图找到内存泄漏,我在两台具有完全不同规格的机器上进行了测试:
PC 1:
CPU:Pentium 4 2 Ghz
RAM:512 Mb
操作系统:Windows XP SP3
PC 2:
CPU:Intel Core i7 3770
RAM:8GB
操作系统:Windows 7 SP 1
现在这就是困扰我并融化我的大脑。我们的客户端运行XP和Windows 7机器。两者都出现同样的问题。这分别是Internet Explorer 8和Internet Explorer 9。在我们这边,当在办公室测试时,它只发生在XP机器上。内存爬升直到高于302 MB / 512MB然后重置并再次下降。当机器和应用程序处于空闲状态时,内存保持一致并且不会爬升,但是当我使用应用程序时,内存爬升使我认为它与浏览器无关。 Windows 7机器,无论我做什么,我都无法获得100 MB以上的内存。当我使应用程序空闲时,内存保持一致。奇怪的是,这只是我们众多客户中的一位报道。我们的其他客户都没有这个问题。让我觉得它可能是他们环境中的东西。
我们的应用程序在jquery中使用了Ajax和许多功能。我已经开始排除Internet Explorer,因为它发生在客户端的8和9上。我现在倾向于jquery / Ajax。
我现在已经花了几天时间,而我无法弄清楚如何解决这个问题。看起来好像在大海捞针。它几乎可以是任何东西,我甚至读过有关防病毒或其他导致问题的应用程序。
我已阅读以下文章,但这里没有明确答案:
Possible memory leaks in Internet Explorer 7/Backbone?
Internet explorer 8 memory consumption
Javascript memory leak in Internet Explorer
如果我错过了什么,我道歉。如果有人有任何想法,请分享。