WAS 在对应用程序池发出回收请求时失败

Microsoft.Windows.InternetInformationServices.10.0.WAS.failed.to.issue.recycle.request.to.application.pool (Rule)

Knowledge Base article:

摘要

Internet Information Services (IIS) 应用程序池可定期回收,以避免导致应用程序崩溃、挂起或内存泄漏的不稳定状态。默认情况下,应用程序池回收是重叠的,这意味着要关闭的工作进程保持运行,直到开始新工作进程。新工作进程启动后,将向其传送新请求。旧工作进程将在处理完现有请求,或在配置超时后关闭,以先完成的为准。这种回收方式确保不中断向客户提供的服务。然而,如果应用程序池中的应用程序本身无法一次运行不止一个实例,则重叠旋转会被禁用。

解决方案

停止和启动 WAS

如果 WAS 回收应用程序池失败,该问题可能自动更正。如果问题仍然存在,解决方法是停止并重新启动 WAS。停止 WAS 服务还将停止 World Wide Web 发布服务 (W3SVC) 和任何依赖于 WAS 的其他服务。因此,你可能还需要启动这些其他服务。

若要停止并重新启动 WAS,请执行以下操作:

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.ApplicationPool
CategoryAlert
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.WAS.failed.to.issue.recycle.request.to.application.pool" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.10.0.WarningAndErrorEventProvider">
<LogName>System</LogName>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool.EventFilter">
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(5070|5093)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.10.0.WAS.failed.to.issue.recycle.request.to.application.pool.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>