gpt4 book ai didi

pid - 当达到 CPU 阈值时,即使 PID 发生变化,也会自动生成 w3wp.exe 进程转储文件

转载 作者:行者123 更新时间:2023-12-02 07:44:40 24 4
gpt4 key购买 nike

我正在尝试解决我们网站之一的问题,该问题导致 CPU 间歇性飙升。该网站位于一个 Web 服务器场上,并且它会在不同时间在所有服务器上间歇性地发生。导致峰值的进程是 w3wp.exe。我已经检查了所有明显的事情,现在想要分析导致峰值的 w3wp.exe 的多组转储文件。

我尝试在 w3wp.exe 进程在指定时间内达到指定 CPU 阈值时自动生成该进程的转储文件。

我可以使用 ProcDump.exe 来执行此操作,如果在 PID(进程 ID)更改之前触发它,它会很有效。

例如:procdump -ma -c 80 -s 10 -n 2 5844(其中 5844 是 PID)

  • -ma 写入包含所有进程内存的转储文件。默认转储格式包括线程和句柄信息。
  • -c 创建进程转储的 CPU 阈值。
  • -s 在写入转储之前必须达到连续秒数 CPU 阈值(默认为 10)。
  • -n 退出前要写入的转储数。

上述命令将监视 w3wp.exe,直到 CPU 峰值达到 80% 并持续 10 秒,并且至少会进行两次迭代的完全转储。

问题:

我有多个 w3wp.exe 实例正在运行,因此我无法使用进程名称,我需要指定 PID。每次回收应用程序池时,PID都会发生变化。这会导致 PID 在我捕获多个转储文件之前发生变化。然后我需要在每个 Web 服务器上再次启动 procdump。

我的问题:

如何在 PID 更改后继续自动生成转储文件?

最佳答案

使用 Microsoft 的调试诊断 2.0:https://www.microsoft.com/en-us/download/details.aspx?id=49924

它处理多个 w3wp.exe 进程。如果您需要通用解决方案,则必须编写脚本 - 例如 https://gallery.technet.microsoft.com/scriptcenter/Getting-SysInternals-027bef71

关于pid - 当达到 CPU 阈值时,即使 PID 发生变化,也会自动生成 w3wp.exe 进程转储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14578287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com