zoukankan      html  css  js  c++  java
  • 如何避免System.OutOfMemonryException异常

      在什么情况下会出现OutOfMemonryException呢?第一种情况:在试图新建一个对象时,垃圾收集器找不到任何可用内存,会抛出该异常,这种情况,我们是可以捕获该异常的;另一种情况是:CLR需要内存,而系统却不能提供,也会抛出该异常, 但此时,应用程序不能捕获该异常。

      第一种情况主要是由于过多使用托管内存导致的,在什么情况下会过多使用托管内存呢?  

      1. 将大型数据集读入内存中。   

      2.创建过多的缓存条目。   

      3. 上载或下载大文件。   

      4. 在分析文件时过多地使用正则表达式或字符串。   

      5. 过多的视图状态。   

      6. 会话状态中有过多的数据或者会话过多。   

      7.创建线程过多。

        下面我们来谈谈第二种情况。对于Win32操作系统,一个进程所能占用的所有内存空间只有2G。当进程占用的内存达到2G时,会引发OutOfMemoryException异常,进程崩溃。怎样扩大一个进程所占用的内存空间呢?可选的解决方法有两个: 

      1、使用/3GB模式启动计算机,方法: http://technet.microsoft.com/zh-cn/library/bb124810%28EXCHG.65%29.aspx
      2、使用Windows Server 2003 64bits Edition。

  • 相关阅读:
    日常巡检
    mysql 主从
    tomcat +apache 动静分离
    ELK安装
    LVS-NAT模式
    shell 三剑客
    shell $传参
    zabbix安装
    lvs-DR 负载均衡
    解决ubuntu中pycharm的图标没有问题
  • 原文地址:https://www.cnblogs.com/tianzhiliang/p/1868056.html
Copyright © 2011-2022 走看看