类别:软件操作

日期:2023-10-12 浏览:3772 评论:0

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

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

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

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


本文标题:解决 IIS Worker Process 内存占用达到99%的问题
本文链接:https://vtzw.com/post/1102.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。