在 IIS 5.0 中的 IIS 进程使用最多 1.3 GB 虚拟内存,并且最终停止响应。 然后,会记录一个事件类似于以下内容的:
事件类型: 错误
事件来源: 服务控制管理器
事件类别: 无
事件 ID: 7031
日期: Date
时间: Time
用户: N/A
ComputerName 的计算机:
说明:
IIS Admin 服务服务意外终止。 它已完成这 7 的时间。 0 毫秒采取以下纠正措施: 任何操作。
有关详细信息,请参阅 http://support.microsoft.com 的帮助和支持中心。
一个 IIS 进程占用过多的内存时, 使用 IIS 调试诊断工具来解决导致内存泄漏的未处理的内存分配。 您必须将 LeakTrack.dll 文件,然后监视内存泄漏。 一旦在重现此泄漏内存转储文件生成。 内存转储文件包含内存泄漏信息。
使用 IIS 调试诊断工具,以解决问题的 IIS 进程消耗过多的内存,请按照下列步骤。
第 1 步: 下载,并安装 IIS Diagnostics Toolkit
下列文件是可以从 Microsoft 下载中心下载:
用于 32 位系统的 IIS Diagnostics Toolkit 收起这个图片展开这个图片
Download the iisdiag.msi package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&DisplayLang=en)
用于基于 Itanium 的系统的 IIS Diagnostics Toolkit 收起这个图片展开这个图片
(http://www.microsoft.com/downloads/details.aspx?FamilyID=13c1c5e5-592c-45bc-b5bb-c486b43eb539&DisplayLang=en)
步骤 2: 设置内存泄漏问题发生之前记录的性能
- 单击 开始 ,指向 程序 ,指向 IIS 诊断 ,指向 调试诊断工具 ,然后单击 调试诊断工具 1.1 。
- 单击 工具 ,然后单击 选项和设置 。
- 单击 性能日志 选项卡,单击 启用性能计数器数据日志 ,然后单击 确定 。
请注意 数据采样间隔和时间开始监视依赖重现内存泄漏问题时。 由于日志的大小确保您使用支持专业人员以获取不使该服务器需要的信息。
步骤 3: 创建一个”内存和句柄泄漏”规则
- 单击 开始 ,指向 程序 ,指向 IIS 诊断 ,指向 调试诊断工具 ,然后单击 调试诊断工具 1.1 。
- 在 规则 选项卡上单击 添加规则 。
- 单击 内存和句柄泄漏 ,然后单击 下一步 。
- 选择此内存泄漏的进程,然后单击 下一步 。
- 在 配置跟踪持续时间 对话框键入,或在 Warm-Up 时间 框中选择 warm-up 时间。
请注意 如果在立即重现该问题单击以选中 开始内存跟踪立即激活规则 复选框。
- 在 跟踪时间 框键入或选择重现此问题所需的该时间。 请确保 自动创建崩溃规则将 userdump 意外进程上的退出 复选框被选中。
请注意 指定的时间末尾创建一个转储文件。
- 单击 下一步 ,然后单击 完成 。
步骤 4: 手动获取数据
- 单击 开始 ,指向 程序 ,指向 IIS 诊断 ,指向 调试诊断工具 ,然后单击 调试诊断工具 1.1 。
- 单击 进程 选项卡,右键单击所需的进程,然后单击 监视器泄漏 。
- 在重现此泄漏时右键单击从步骤 4b,进程然后单击 创建完整用户转储 。
请注意 请注意状态是活动。 此外, 用户转储 Count 计数器值增加每次在创建内存转储文件。
步骤 5: 停止内存转储文件完成后,性能日志记录
- 单击 开始 ,指向 程序 ,指向 IIS 诊断 ,指向 调试诊断工具 ,然后单击 调试诊断工具 1.1 。
- 单击 工具 ,然后单击 选项和设置 。
- 单击 性能日志 选项卡,单击 禁用性能计数器数据日志 ,然后单击 确定 。
步骤 6: 分析内存转储文件
步骤 7: 如果使用的自定义.dll 文件添加”以进行分析的符号搜索路径”路径或在”调试符号搜索路径”路径
- 单击 工具 ,然后单击 选项和设置 。
- 符号搜索路径分析 中或在 为调试符号搜索路径 框中,键入适当的路径,,然后单击 确定