• IIS 内存管理


    昨天半夜,接到客户紧急异常,许多webservice接口调用数据返回异常。于是赶紧远程查看服务器,发现服务器运行很卡,且一个IIS Worker Process进程占用内存达99%,猜测可能是接口调用突然频繁而IIS占用内存没有及时回收导致的。解决方式,首先手动结束这个进程,重启接口,程序恢复运行。但此时IIS占用的内存依然会逐步增加,这个过程需要一段时间,在这段时间里要合理设置IIS应用程序内存回收机制。

    确定了是IIS内存回收机制设置不合理,在忽略程序设计逻辑本身问题的前提下,通过IIS应用程序指定内存回收机制。

    在应用池中选择需要处理的项右键→高级设置中,我们可以看到,默认IIS设置的固定内存回收时间是1740分钟,也就是29个小时,这对于24小时运行的程序来说,作用不大。紧接着可以看到专用内存限制设置项,默认是0,也就是没有限制。于是把它修改为1048576,表示当内存达到1G的时候,自动启动内存释放机制。这个释放过程原来运行中的程序会继续执行,新的调用会重新创建一个新的进程来运行。

    修改后持续观察一天,效果不错!

     
  • 相关阅读:
    c# mvc action 跳转方式
    where T : new() 的含义
    HTML5 Dataset data-属性
    EF6 教程
    C写的AES(ECB/PKCS5Padding)
    【转载】openwrt: Makefile 框架分析
    SCP 命令【转】
    HTTP协议详解(转载)
    bootstrap模板
    拖拽插件
  • 原文地址:https://www.cnblogs.com/huweijian/p/13997985.html
Copyright © 2020-2023  润新知