有一个名为的应用程序池js WadoAppPool ,
我设置js maximum worker process 为
,1并设置js privateMemory 为
2048000
l```
ike:
但我不知道为什么W3wp.exe该应用程序池有多个(这导致内存溢出):
在此处输入图片说明
眼镜:
Windows Server 2008 R2
IIS 7.5
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在IIS中,设置应用程序池的"maximum worker process"为1通常意味着你希望该应用程序池只运行一个工作进程(w3wp.exe)。然而,如果仍然观察到有多个w3wp.exe进程与你的应用程序池相关联,这可能是由以下几个原因造成的:
应用程序池标识问题:确保没有其他应用程序池使用了相同的标识(尤其是网络服务或本地系统账户),因为这可能导致进程被错误地关联。
应用程序池回收设置:IIS可能根据内存使用、请求队列长度、时间间隔等因素自动回收工作进程。在回收过程中,新旧进程可能会短暂共存。
Web Garden配置:即使你在界面中设置了最大工作进程数为1,也要检查是否通过命令行或其他配置文件(如applicationHost.config)不小心启用了“Web Garden”功能,这会允许一个应用程序池启动多个工作进程。
应用程序子池:确认是否有特定模块或配置导致IIS为同一应用程序池内的不同应用程序或路径创建了子进程。
第三方模块或扩展:某些第三方模块或IIS扩展可能会根据其自身逻辑启动额外的工作进程。
错误的进程关联:有时候,进程监视工具可能误将其他应用程序池的工作进程标记为属于你的应用程序池。
针对内存溢出的问题,你已经设置了privateMemory
限制为2048000KB(约2GB),这是为了防止单个工作进程占用过多内存。但如果有多个进程出现,每个都尝试使用接近这个限制的内存,整体内存消耗依然会很高。
解决此问题的步骤包括:
如果以上步骤不能解决问题,可能需要更深入的技术排查,比如分析详细的系统日志或者联系阿里云技术支持获取进一步的帮助。