美文网首页
解决 IIS Worker Process 内存占用达到99%的

解决 IIS Worker Process 内存占用达到99%的

作者: 任前程 | 来源:发表于2017-12-11 12:19 被阅读2791次

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

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

    设置

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

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

    任务管理器

    本文为原创文章,转载请注明出处!欢迎关注任前程博客 https://renqiancheng.com/,第一时间看后续精彩文章。

    相关文章

      网友评论

          本文标题:解决 IIS Worker Process 内存占用达到99%的

          本文链接:https://www.haomeiwen.com/subject/qsqiixtx.html