服务器无法分配缓冲区以读取文件

Microsoft.Windows.InternetInformationServices.10.0.The.server.was.unable.to.allocate.a.buffer.to.read.a.file (Rule)

Knowledge Base article:

摘要

为成功执行 Internet Information Services (IIS) World Wide Web 发布服务 (W3SVC) 的活动,必须避免涉及文件访问、内存可用性和网络连接的任何 I/O 错误。此外,必须可访问和运行任何使用的脚本以及正确配置任何包含的文件。

解决方法

检查可用内存

有关 IIS 中的低内存问题的详细信息,请参阅 如何使用 IIS 调试诊断工具解决 IIS 进程中的内存泄漏问题一文。

也可使用以下链接更好地了解服务器上的可用内存:

Memory\Available MBytes 性能

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.WebServer
CategoryAlert
EnabledTrue
Event_ID2233
Event SourceMicrosoft-Windows-IIS-W3SVC-WP
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WA WriteAction Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.The.server.was.unable.to.allocate.a.buffer.to.read.a.file" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2233</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<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.The.server.was.unable.to.allocate.a.buffer.to.read.a.file.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>