在Windows Server 2003 / IIS 6上读取16MB文本文件时,ASP.net 3.5应用程序间歇性地抛出OutOfMemoryexception

我有一个运行在Windows Server 2003和IIS 6.0上的ASP.net 3.5应用程序,当我的代码读取一个16MB文件时,我有时会遇到OutOfMemoryexception。 通常如果你尝试再次执行相同的读取,我会继续得到exception。

如果我重新启动w3svc,那么exception消失。 如果我单独放置几个小时,然后尝试运行代码,它往往会消失。

exception来自对文件streamReadToEnd的调用,所以它不是我的代码泄漏内存中的东西。

我的网站上的w3wp.exe进程通常在正常的负载下使用大约250-350MB的内存。

我猜想,每连接内存使用情况或东西导致这个问题,虽然我不知道有关IIS / ASP.net内存pipe理知道在哪里寻找一种方式来跟踪或调整它不会造成问题。

我几乎总是在这个服务器上有2 + GB可用的RAM,并且从来没有低于1.5GB的空闲。

我已经在这些服务器上运行了相同的应用程序/代码多年,最近才开始这个例外。 我的猜测是当文件缓慢增长到16M以上时才开始,但这可能只是一个巧合。 这个文件肯定是慢慢增长的,所以几个月前我从来没有遇到过这个问题,这个文件肯定比现在要小一些。

有问题的代码可能每天运行5-6次(在caching中读取),似乎每周一次或两次出错,所以它并不总是错误,但它的频繁程度已经成为一个问题。

对于IIS连接或ASP.net网站,是否有某种限制,如果有的话,是否有一种方法来增加限制,当我知道我有可用的RAM的负载?