!aspxpages(即!dumphttpcontext)命令输出的解释

在排查ASP.NET网站High CPU问题时, 经常使用hang dump来确定常规手段难以发现的原因.

 

经常会使用!aspxpages命令来查看当前进程中都有那些资源正被请求, 被请求的资源都运行了多久. 这个命令的输出样本如下.

 

0:000> !aspxpages
Going to dump the HttpContexts found in the heap.
Loading the heap objects into our cache.
HttpContext                       Timeout  Completed          Running  ThreadId    ReturnCode   Verb     RequestPath+QueryString

0x0000000101d43c10      110 Sec       yes                                   XXX          200                POST       /_vti_bin/Lists.asmx
0x0000000101d5ae68      110 Sec       yes                                   XXX          200                POST       /_vti_bin/Lists.asmx
0x0000000101d6e7a0      110 Sec       yes                                   XXX          200                POST       /_vti_bin/search.asmx

0x0000000107c5baa0      110 Sec        no                  18 Sec        78           200                GET         /Pages/Home.aspx

0x000000010ab794f0       110 Sec        no                  10 Sec        90           200                GET         /pages/home.aspx

......

Total 1,042 HttpContext objects

 

假如只看已经列出来的信息的话, 结论如下:

  1. 三个对于web service的访问已经成功结束. 之所以列在这里, 乃是因为抓dump的时候, 还没有进行垃圾收集, 这些对象还依然存在于内存中. 因为运行已经结束, 所以线程ID显示为XXX,
  2. 两个对aspx页面的访问还正在运行, 可以看到他们的线程ID分别是78和90。 并且分别已经运行了18秒和10秒.

注意, !aspxpages与!dumphttpcontext命令是一致的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值