ASP.NET内存占用问题

转载 2007年10月02日 00:17:00
原来写过的一部分ASP.NET的页面用于数据的选择,也就是把符合条件的记录都显示出来,由用户选择其中的一条。为了加快速度,所有符合条件的数据取出后放在了Session中,分页查找时直接取这个数据就可以了。一直运行的很正常(呵呵,可能是也不正常,只不过没有看出来),后来换了一个数据量比较大的系统,选择几次数据后内存占用竟然到了1个多G,最终造成内存超过极限进程崩掉了。
  百思不得其解,数据是保存在Session中的,退出的时候也根据相关的Key值清除了,应该会释放掉了。但是即使我加了强制回收垃圾代码也不管用。
  没办法,读代码吧,反正知道是在哪部分出的问题。发现产生了一个新的Table用于分页,然后这个Table绑定了自定义的DataGrid并且也放到了Session中,这部分是DataGrid管理的,退出时没有清除。但是这个Table中仅有10行数据(默认的),并且同一个用户打开同一个选择会冲掉以前的缓存,所以不应该出现这么大的内存占用啊。
  只好在缓存的数据做文章了。缓存的是一个DataView(实际是一个DataTable的DefaultView),来点狠的,退出页面时调用CacheData.Table.Clear()清除掉DataTable中的数据,然后CacheData.Dispose(),再用原来的处理清除其他Session中缓存的数据(几个标志,成不了什么气候),顺手在DataGrid中增加方法清除掉缓存,然后强制回收垃圾,运行、测试,查看内存,哈哈,一直稳定在40~50M之间啊。
  俺的机器不行,太大的数据查询造成连接超时,换到了服务器上的正式系统中,打开多个IE访问、测试,基本稳定在了300M左右。成功!
  有必要的话,太大的对象不使用了最好还是显示清除一下好。因为这部分代码写的比较早,想到.NET应该可以自动回收,所以当时根本没有在意这个问题。 想想写这些代码的时候还是比较弱啊 :D  

ASP.NET内存占用问题

   原来写过的一部分ASP.NET的页面用于数据的选择,也就是把符合条件的记录都显示出来,由用户选择其中的一条。为了加快速度,所有符合条件的数据取出后放在了Session中,分页查找时直接取这个数据...
  • lovelyxc
  • lovelyxc
  • 2005年07月30日 09:27
  • 1495

‍w3wp.exe占用内存过高的问题

今天下午服务器突然不能访问,通知机房重启后恢复。怀疑是网站asp程序的问题。上网查了查: ****                     **** 在IIS6下,经常出现w3wp的内存占用不能及...
  • ldl22847
  • ldl22847
  • 2012年08月06日 09:55
  • 5656

移花接木解决.net程序内存占用过大

SetProcessWorkingSetSize减少内存占用
  • liuyunfan
  • liuyunfan
  • 2010年12月18日 13:21
  • 975

c#中如何定义内存表绑定DataGrid的简单实例

实例代码如下 :using System;using System.Drawing;using System.Collections;using System.ComponentModel;using...
  • jiqimiao
  • jiqimiao
  • 2007年05月18日 09:17
  • 1264

asp.net 性能优化之内存

1.对象创建尽量放到后面 如:
  • wangsky2
  • wangsky2
  • 2014年08月15日 15:12
  • 1348

Asp.net core应用在 Kubernetes上内存使用率过高问题分析

原文:https://blog.markvincze.com/troubleshooting-high-memory-usage-with-asp-net-core-on-kubernetes/ p...
  • sD7O95O
  • sD7O95O
  • 2017年11月14日 00:00
  • 222

Oracle设置“服务”占用内存

目录: 版本1 Oracle12C 版本2   版本3   ...
  • qq_33301113
  • qq_33301113
  • 2017年01月14日 10:34
  • 1442

关于sqlite3使用操作中内存耗尽导致进程被kill的问题

最近由于项目的需要,在cortex-A8板子上开发一个关于分容柜控制的程序。需要用网络与上位机通讯。由于检测需要用到脱机工作。保存至少1440*150条数据,所以引进了sqlite数据库。移植了一个s...
  • jutun5887
  • jutun5887
  • 2018年01月03日 10:11
  • 199

Spring整合Quartz遇到内存泄露问题

团队的项目需要做定时任务,于是选择了Quartz 在整合过程中,遇到了Quartz配置不正确导致内存泄露的问题。 当启动服务器时,程序是正常的,重启时,Web容器报错,无法unregister相应的...
  • liang16286
  • liang16286
  • 2016年01月09日 17:24
  • 1087

Java线上应用故障排查之二:高内存占用

前一篇介绍了线上应用故障排查之一:高CPU占用,这篇主要分析高内存占用故障的排查。 搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: ...
  • lao_pei
  • lao_pei
  • 2016年01月31日 20:30
  • 5181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET内存占用问题
举报原因:
原因补充:

(最多只允许输入30个字)