memory-leaks - 为什么 Asp.net 计时器/更新面板会在 Chrome 中泄漏内存,是否可以修复/解决?

标签 memory-leaks google-chrome updatepanel timer webforms

我为我们公司建立了一套内部网站来管理我们的一些流程。我一直注意到这些页面存在大量内存泄漏,导致页面使用超过 150mb 的内存,这对于由单个表单和 GridView 组成的网页来说是荒谬的,该 GridView 一次显示 7-10 行数据。时间,有时数据一整天都没有变化。这是一个问题,因为它由于可用内存不足而减慢了我们的客户端机器的速度。

经过一些测试,似乎内存泄漏非常容易重现,而且非常明显。我使用以下 asp.net 标记创建了一个页面:

<body>
<form id="form1" runat="server">
<div>
    <asp:scriptmanager ID="Scriptmanager1" runat="server"></asp:scriptmanager>    
    <asp:Timer ID="timer1" runat="server" Interval="1000" />

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>
</body>

这背后绝对没有代码。这是整个页面。在 Chrome 中运行此站点显示内存使用量在 20-30 秒内高达 25 兆。让它运行几分钟会使内存上升到 70 兆等。

我是否使用计时器和更新面板错误,或者这是一个没有解决方法的纯 Asp.net 问题?

注意:我说的不是服务器上使用的内存,而是客户端上使用的内存。

编辑:嗯,看起来这是 Chrome 的问题。 Firefox 和 IE8 在长时间运行此页面时似乎没有任何内存问题。

最佳答案

.NET 不一定使用所有内存。见 How can I determine how much memory my .NET program is using?

我曾经读过一篇关于它的非常好的文章,但现在找不到了。如果我这样做,我会更新这个答案。

编辑:这是一个很好的:http://blogs.msdn.com/b/tess/archive/2006/09/06/742568.aspx还有一个:http://www.getdotnetcode.com/gdncstore/free/Articles/The%20Memory%20Mystery.htm

关于memory-leaks - 为什么 Asp.net 计时器/更新面板会在 Chrome 中泄漏内存,是否可以修复/解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3053855/

相关文章:

javascript - 使用页面方法实现 Datalist 删除命令事件

asp.net - IIS应用程序池和.NET垃圾收集

objective-c - 为什么我的 for 循环泄漏?

javascript - AngularJS 闭包内存泄漏?

javascript - 我的 AngularJS 页面卡在移动版本和谷歌浏览器控制台不显示任何错误消息

javascript - 无法在 UpdatePannel 中获取 DropDownList 控件

c - 内存泄漏和无效读/写

java - 哪些插件用于在 Google Chrome 浏览器中查找定位器?

javascript - 带回旧的 Chrome JS 控制台?

asp.net - 如何让客户端脚本在 ASP.NET 回发上执行? (来自更新面板)