zoukankan      html  css  js  c++  java
  • 转:介绍一个好用的抓取dump的工具-ProcDump


    介绍一个好用的抓取dump的工具-ProcDump

    Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash dump文件, 供研发人员和管理员确定问题发生的原因. 你还可以把它作为生成dump的工具使用在其他的脚本中.

    有了它, 就完全不需要在同一台服务器上使用诸如32位系统上的Debug Diag 1.1或是64位系统上的ADPlus了.

    问题描述

    ===============

    在任务管理器里发现w3wp.exe的CPU总在49%-60%左右, 间歇性地会下降一些. 我们需要在w3wp.exe的CPU在50%以上并能维持三秒钟的情形下抓取两组dump. 如果使用debug diag或adplus的话, 会比较困难, 因为这需要等待时机并手动抓取. 容易出现抓到的dump里不包含那些引发异常的动作的情况.

    解决方案 - 救世主procdump

    ===============

    Procdump可以很方便地帮助我们应付这种情况, 加速动作过程, 抓取正确数据集合. 它会指定的时间内监控目标进程的cpu, 并在那个点抓取一个内存快照(dump).

    比如说:


    procdump -ma -c 50 -s 3 -n 2 5844(Process Name or PID)
    -ma 生成full dump, 即包括进程的所有内存. 默认的dump格式包括线程和句柄信息.

    -c 在CPU使用率到达这个阀值的时候, 生成dump文件.

    -s CPU阀值必须持续多少秒才抓取dump文件.

    -n 在该工具退出之前要抓取多少个dump文件.

    上面的命令行会监控w3wp.exe的CPU, 在CPU使用率超过百分之五十超过3秒的时候, 生成dump文件, 重复该动作两次.

    参考
    https://docs.microsoft.com/en-us/sysinternals/downloads/procdump
    http://www.cnblogs.com/awpatp/archive/2010/12/20/1911122.html


    示例:

    在cmd中输入

    d:procdump64.exe -ma -c 90 -s 3 -n 1 8128


    C:UsersAdministrator>d:procdump64.exe -ma -c 10 -s 1 -n 2 4332

    ProcDump v9.0 - Sysinternals process dump utility
    Copyright (C) 2009-2017 Mark Russinovich and Andrew Richards
    Sysinternals - www.sysinternals.com

    Process: w3wp.exe (4332)
    Process image: C:WindowsSysWOW64inetsrvw3wp.exe
    CPU threshold: >= 10% of system
    Performance counter: n/a
    Commit threshold: n/a
    Threshold seconds: 1
    Hung window check: Disabled
    Log debug strings: Disabled
    Exception monitor: Disabled
    Exception filter: [Includes]
    *
    [Excludes]
    Terminate monitor: Disabled
    Cloning type: Disabled
    Concurrent limit: n/a
    Avoid outage: n/a
    Number of dumps: 2
    Dump folder: C:UsersAdministrator
    Dump filename/mask: PROCESSNAME_YYMMDD_HHMMSS
    Queue to WER: Disabled
    Kill after dump: Disabled


    Press Ctrl-C to end monitoring without terminating the process.

    [16:42:21] CPU: 10% 1s (Trigger)
    [16:42:21] Dump 1 initiated: C:UsersAdministratorw3wp.exe_180408_164221.dmp
    [16:42:25] Dump 1 writing: Estimated dump file size is 495 MB.
    [16:42:43] Dump 1 complete: 495 MB written in 21.6 seconds
    [16:42:45] CPU: 29% 1s (Trigger)
    [16:42:45] Dump 2 initiated: C:UsersAdministratorw3wp.exe_180408_164245.dmp
    [16:42:48] Dump 2 writing: Estimated dump file size is 490 MB.
    [16:42:53] Dump 2 complete: 491 MB written in 8.3 seconds
    [16:42:53] Waiting for dump to complete...
    [16:42:54] Dump count reached.

    扩展阅读

    利用windbg查找dictionary导致IIS占CPU100%案例分析(一)

  • 相关阅读:
    Delphi 与 C/C++ 数据类型对照表(最新的tokyo)
    Delphi新语法 For ..In
    NSwag生成客户端调用代码
    微服务
    springcloud
    NET高性能IO
    秒杀场景
    CPU开销sql server 性能调优
    WinDbg调试分析 net站点 CPU100%问题
    全链路实践Spring Cloud 微服务架构
  • 原文地址:https://www.cnblogs.com/059212315/p/8746529.html
Copyright © 2011-2022 走看看