• !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命令是一致的.

  • 相关阅读:
    最大连续序列和
    打印有序链表的公共部分
    字符串最长子串大小
    jvm简介
    大浮点数乘法
    java代码的快速排序理解
    从内存分配分析程序初始化和存储
    时间复杂度
    Filter&Listener
    MVC开发模式&EL表达式&JSTL&三层架构开发
  • 原文地址:https://www.cnblogs.com/awpatp/p/1847963.html
Copyright © 2020-2023  润新知