我爱Aspx >> Asp.Net >> 调试分布式 Web 应用程序 (3)
调试分布式 Web 应用程序 (3)
- :未知 Դ:internet :2007-5-5 19:46:35 ؼ:web
- 更改为 every 1 second
,然后单击确定
。
现在已经设置好所有的内容,可以开始记录数据了。用鼠标右键单击这个日志名,然后单击开始
。确保日志捕获了处理器利用率猛增至 100% 的那段时间内的所有数据。启动 WinDBG
并连接到 inetinfo 进程。一旦处理器利用率回到正常水平,您就可以停止记录,方法是用鼠标右键单击该 Log Name
,然后单击 Stop
。 检查日志
现在已经创建了日志,我们可以开始仔细检查它来识别消耗了大部分 CPU 时间的进程,并进一步识别此进程内部的耗尽 CPU 时间的线程,以及它这样做的原因。 第一步是识别哪一个进程消耗了大部分的 CPU 时间。要打开日志文件,请单击控制台根目录下的 System Monitor
文件夹。在详细信息窗格中,用鼠标右键单击图表,然后单击 Properties
。在 System Monitor Properties
中,单击 Source
选项卡。选择 Log File
,通过浏览选择您刚创建的日志文件。 用鼠标右键单击图表,然后单击 Add Counters
。在 Add Counters
对话框中,从 Performance Object
列表中选择 Process
。选择 Select counters from List
,然后从此列表框中选择 %Processor Time
。选择 All instances
,单击 Add
,然后单击 Close
。 这将为我们提供所有处理器及其 CPU 使用情况的列表。现在您需要查清哪个进程引起了 100% 的 CPU 问题。 确保选中了 Highlight
工具按钮(有一个球形图标)。现在您可以滚动这些计数器,将除最接近 100% 标记的那个进程之外的所有进程全部删除。确保只选择了那些与您有关系的计数器。例如,如果您正在调试 100% 的 CPU 利用率的问题,您也许应该查找 inetinfo、其它的脱机处理的 COM 程序包/应用程序 (MTX.EXE/DLLHOST.EXE) 或者 IIS 应用程序。 一旦您在进程级将问题隔离出来,您就可以将注意力集中在该进程内部的那些在出现 100% 的 CPU 问题时仍然活动的线程上,并试着隔离引起问题的那个线程。为此,我们添加更多的计数器来显示该进程中所有线程的 CPU 使用情况。对于本例而言,就是为 inetinfo 进程中的所有线程添加计数器。用鼠标右键单击图表,然后单击 Add Counters
。在 Add Counters
对话框中,从 Performance Object
Ҷƪл˵?
- һƪ《用Delphi设计代理服务器》原文及源程序
һƪ调试分布式 Web 应用程序 (2)
- 关于我们 | 广告服务 | 网站建设 | 版权申明 | 申请链接 | 联系我们
- Copyright © 2007 5iaspx.COM. All Right Reserved.
- 本站内容仅供学习,研究,探讨,个人收藏,如有侵权,敬请联系我们,我们尽快解决!