如何在事件日志中查找应用程序池回收

Posted

技术标签:

【中文标题】如何在事件日志中查找应用程序池回收【英文标题】:How to Find App Pool Recycles in Event Log 【发布时间】:2012-04-02 22:17:25 【问题描述】:

我在 IIS 7.5 中配置了一个应用程序池,以便在内存使用量超过某个水平时进行回收。我还对其进行了配置以记录此信息。

我应该在事件日志的哪个位置查找此内容?

我已尝试根据所有 IIS 项目的来源进行过滤,例如'IIS-W3SVC-WP'、'IIS-IISManager' 等等,但什么都没有。

我可以看到它也在添加我启用的“IIS-配置”日志中的项目。但还是什么都没有。

【问题讨论】:

【参考方案1】:

似乎很难找到这些信息,但最终我遇到了this question 您必须查看“系统”事件日志,并按 WAS 源进行过滤。 这里是more info about the WAS (Windows Process Activation Service)

【讨论】:

我遇到了同样的问题。值得一提的是,您必须配置在哪些情况下记录应用程序池回收事件。默认情况下,它是在几个情况下,而不是全部。您可以在 IIS > 应用程序池 > 选择应用程序池 > 高级设置 > 展开生成回收事件日志条目中执行此操作 @BlackHawkDesign 您应该考虑将您的评论变成一个完整的答案(甚至可能带有相关设置的屏幕截图;-)此信息对于成功检测应用程序池何时实际被回收至关重要。 【参考方案2】:

由于似乎无法过滤XPath消息数据(它不在XML中过滤),您也可以使用powershell进行搜索:

Get-WinEvent -LogName System | Where-Object $_.Message -like "*recycle*"

由此,我可以看到用于回收的事件 ID 似乎是 5074,因此您也可以对此进行过滤。我希望这对某人有所帮助,因为这些信息似乎需要比预期更长的时间才能解决。

这与@BlackHawkDesign 评论一起应该可以帮助你找到你需要的东西。

我有同样的问题。也许有趣的是,你必须 配置在哪些情况下记录应用程序池回收事件。经过 默认情况下有几种情况,而不是全部。你可以这样做 IIS > 应用程序池 > 选择应用程序池 > 高级设置 > 展开 生成回收事件日志条目 – BlackHawkDesign 2015 年 1 月 14 日 10:00

【讨论】:

【参考方案3】:

由于不推荐仅链接的答案,我将复制并粘贴已接受答案的链接内容


绝对是系统日志

哪个日志文件?嗯——您可以通过右键单击系统日志(例如服务器管理器 | 诊断 | 事件查看器 | Windows 日志)来检查物理路径。默认物理路径为%SystemRoot%\System32\Winevt\Logs\System.evtx

您可以创建自定义过滤器并按“来源:WAS”进行过滤,以快速仅查看 IIS 生成的条目。

您可能首先需要为特定的应用程序池启用此类日志记录 - 默认情况下,应用程序池仅启用 8 个回收事件中的 3 个。要使用 GUI 更改它: II S Manager |应用程序池 |选择应用程序池 -> 高级设置 |生成回收事件日志条目。

【讨论】:

【参考方案4】:

IIS 8.5 + 版

为您的网站/应用程序启用 Windows 事件跟踪

    转到日志记录并确保仅ETW事件日志文件和ETW事件 ...被选中。

    在应用程序池的高级设置中启用所需的回收日志:

    转到默认的自定义视图:WebServer 过滤 IIS 日志:

自定义视图 > ServerRoles > Web 服务器

    ...或系统日志:

Windows 日志 > 系统

【讨论】:

以上是关于如何在事件日志中查找应用程序池回收的主要内容,如果未能解决你的问题,请参考以下文章

如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响

应用程序池关闭

人们在部署大型应用程序时如何解决应用程序池回收问题?

解决IIS7IIS7.5 应用程序池回收假死的方法

解决IIS7IIS7.5 应用程序池回收假死的方法

如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?