我在生产环境中有一个应用程序,它是Windows Server 2012 / IIS 8并且是负载平衡的。
最近突然间,网站应用程序池突然启动了gettig禁用。系统Windows日志由资源耗尽检测器记录以下错误消息...
由于为该应用程序池提供服务的进程中出现一系列故障,因此正在自动禁用应用程序池“x”。 Windows成功诊断出虚拟内存不足的情况。以下程序占用的虚拟内存最多:w3wp.exe(6604)消耗5080641536字节,w3wp.exe(1572)消耗477335552字节,w3wp.exe(352)占用431423488字节。
任何人都知道我如何弄清楚发生了什么?我们之前从未遇到过这个问题,应用程序运行了好几年。
此外,这不是经常发生的事情,而是似乎每天都会发生一次,甚至是随机时间。虚拟内存最初为4GB,但由于上述问题,我们将其增加到8GB。最近它在使用8GB的大约6.8GB时飙升,没有理由这样做。
任何帮助都会非常感激!
答案 0 :(得分:0)
1-您的流程/代码中存在严重错误,间歇性地发生“您需要调试它以查找发生的方式/时间”或至少运行ProcDump 这样你就可以在进程W3WP上监听服务器直到异常发生,然后分析这个转储以找到代码卡住的位置并消耗该内存/否则只需调试代码并查看最近几个月所做的更改“不是天“
2-应用程序停止,因为你已配置/它默认配置为在一定数量的故障重复后被禁用中断,这是正常的行为,但我说的主要问题不是应用程序池本身,它在过程中
如果您需要有关此事的进一步解释或帮助,请告诉我