此对象可监视 IRP 堆栈大小,并在堆栈太小时生成警报。
此对象可监视 IRP 堆栈大小,并在堆栈太小时生成警报。
此监视器将检查 IRPStackSize 参数值是否足够大,以使服务器可以访问本地设备。IRPStackSize 参数指定服务为 I/O 请求数据包 (IRP) 建立的堆栈位置数量。
如果 IRPStackSize 参数值太小,导致 Server 服务无法在某些物理驱动器上正常管理共享目录,此监视器可能会进入“严重”运行状况状态。
如果运行状况状态未知,则说明对此对象的监视尚未开始。
若要执行此过程,您必须是本地计算机上管理员组的成员,或者已被委派了适当的权限。
更新默认的 IRP 堆栈大小
要在受影响的服务器上解决此问题,请按以下步骤尝试更新默认的 IRP 堆栈大小:
1. 依次单击“开始”和“运行”, 键入 regedit,然后单击“确定”。
2. 找到并单击选择以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
3. 如果 IRPStackSize 参数存在,转到步骤 4。如果该参数不存在,请执行以下操作:
â— 在“编辑”菜单上,指向“新建”,然后单击 DWORD 值。
â— 键入 IRPStackSize,然后按 ENTER。
4. 右键单击 IRPStackSize,然后单击“修改”。
5. 在“基数”下方,选择“十进制”。在“数值数据”框中,键入所需的值(在 25 和 50 之间),然后单击“确定”。
6. 在提升的命令提示符处,键入 net stop server,然后按 ENTER。如果系统提示您确认操作,键入 y。
7. 键入 net start server,然后按 ENTER。
注意Â 您可能必须重新启动随 Server 服务一起停止的其他依赖服务。
验证
要确认 Server 服务是否正在运行,请在 Operations Console 中使用以下过程:
单击“查询服务器服务状态”任务。
解决此问题后,在 Operations Console 中将监视重置为正常状态。
服务器事件 2011 (http://go.microsoft.com/fwlink/?LinkId=183116)
Target | Microsoft.Windows.FileServices.Service.SMB.6.3 | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.RepeatedEventLogTimer2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.FileServices.Service.SMB.6.3.StackSizeConfig" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServices.Service.SMB.6.3" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.RepeatedEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServices.Service.SMB.6.3.StackSizeConfig.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Error"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<RepeatedComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</RepeatedComputerName>
<RepeatedLogName>System</RepeatedLogName>
<RepeatedExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2011</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">srv</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</RepeatedExpression>
<Consolidator>
<ConsolidationProperties/>
<TimeControl>
<WithinTimeSchedule>
<Interval>60</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>2</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>
</CountingCondition>
</Consolidator>
<TimerWaitInSeconds>180</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>