zoukankan      html  css  js  c++  java
  • .Net 4.5可执行程序OutOfMemory

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com
     

    产线上新部署的服务,发生几次无故停止的情况,通过系统事件看到是这样:

     
    这个服务缓存了大量的数据,内存占用比较大,但还不至于OutOfMemory(服务器内存大),怀疑编译时有问题,看项目属性发现这个Perfer 32-bit有重大嫌疑。
     
     
    去掉这个选项重新编译部署,跑了一晚上,没有再出问题了,问题解决。
     
    原因很简单:
     
    32位操作系统的寻址空间是4G,其中有2G被操作系统占用,也就是说留给用户进程的内存只有2G(其中还要扣除程序加载时映像占用的部分空间,一般只有1.6G~1.8G左右可以使用)。 如果进程运行中需要申请内存,而操作系统无法为其分配内存空间,则会产生内存不足的异常,在.net中为System.OutOfMemoryException(The exception that is thrown when there is not enough memory tocontinue the execution of a program.)。
  • 相关阅读:
    docker应用部署
    Netty实现WebSocket通信
    spring-mvc框架简单搭建
    spring-tx 事物
    spring注解及简单实用
    Spring Aop实现简单代码实现
    Jedis操作
    Proxy说明
    下载返回流
    向上捅破天,向下扎到根
  • 原文地址:https://www.cnblogs.com/zeeman/p/4742343.html
Copyright © 2011-2022 走看看