zoukankan      html  css  js  c++  java
  • 又是可用内存不足。这次的表现为:事件来源: ASP.NET 1.1.4322.0,事件 ID: 1084,失败的错误代码为 800705AA

      最近为了解决大文件下载耗内存的问题,费了不少功夫,也遇到许多意想不到的事情,有时间要好好的记上一笔。

      前日,从别人那里看来一段关于下载的代码,把以前的代码修改了下。

    Code

      大致上就这个样子,这段代码写法上有很多问题,比如没用finally块集中释放资源,catch不该这么写。

    我拿了这段代码就去测试了,最初是在用winxp做web服务器,下载的文件在win2003上,局域网内的两台机子,先后开了6个下载,winxp的内存使用情况也不错。

    由于实际环境中web服务器是win2000,所以再把代码放到win2000上测试,问题来了。打开第一个下载还行,再开第二个,两个下载全都崩了,说是连不上服务器。

    上win2000一看,电脑速度变得巨慢,点个东西要老半天才有反应,忍无可忍,重启机器。

    事件查看器/应用程序 记录了两个错误

    1)

    事件类型: 错误  

    事件来源: ASP.NET   1.1.4322.0  
    事件种类: 无  
    事件   ID: 1084  
    日期:   
    事件:
    用户:
    计算机:
    描述:  
    aspnet_wp.exe   未能启动。失败的错误代码为800705AA。当辅助进程帐户没有足够的权限读取.NET   Framework   文件时,可能会导致该错误。请确保正确安装了   .NET   Framework,并且安装目录的   ACL   允许访问配置的帐户。   

     2)

    事件类型: 错误
    事件来源: ASP.NET   1.1.4322.0  
    事件种类: 无
    事件   ID: 1000
    日期:
    事件:
    用户:
    计算机:
    描述:

    aspnet_wp.exe     (PID:   ****)意外停止。 

      我看了这个挺莫名的,还真去卸载/安装了.Net Framework。 不过问题依旧,这回改查看任务管理器,看谁是用cpu那么猛,hoho,inetinfo.exe,是他!再看性能/物理内存/可用数 只剩下区区4千了,立马去查看究竟那个进程狂用内存了,怪事!内存使用最多的aspnet_wp.exe也只用了区区5千KB,怎么就把我物理内存吃的只剩下4千KB了呢?且慢,再看虚拟内存大小。靠,inetinfo.exe居然占用了1GB的内存,我的天,都是他干的好事。纳闷了,下载的文件也才100MB,inetinfo怎么就到了1G。经过代码调整,发现是Catch处出的问题,希望有哪位看官告诉我为什么会有这样的事儿!

    调整后的代码

    Code

     改成这样后,inetinfo.exe占用的虚拟内存大小显著下降,问题是解决了,但我就纳闷了,原先的代码到底捕捉到了什么奇怪的异常呢。。。
    -----------------------------
    2009/3/16
    -----------------------------
    发生该现象的机器居然坏了,说是硬盘故障。。。没有及时dump,现在什么也做不了了。。
  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/wordmy/p/1410827.html
Copyright © 2011-2022 走看看