我正在尝试解决我们的一个网站问题导致CPU间歇性地出现问题.该站点位于Web服务器场中,并且在不同时间间歇性地跨所有服务器发生.导致峰值的过程是w3wp.exe.我检查了所有显而易见的事情,现在想要为w3wp.exe分析多组转储文件,这会导致峰值.
我正在尝试在指定的时间内达到指定的CPU阈值时自动生成w3wp.exe进程的转储文件.
我可以使用ProcDump.exe来执行此操作,并且它可以在PID(进程ID)更改之前触发它.
例如:(
procdump -ma -c 80 -s 10 -n 2 5844其中5844是PID)
上面的命令将监视w3wp.exe,直到CPU达到80%,持续10秒,并且至少需要两次迭代才能完全转储.
问题:
我有多个运行w3wp.exe的实例,所以我不能使用进程名称,我需要指定PID.每次回收App Pool时,PID都会更改.这会导致PID在我可以捕获多个转储文件之前更改.然后我需要在每个Web服务器上再次启动procdump.
我的问题:
即使在PID更改后,如何自动生成转储文件?
使用 Microsfot 的 DebugDiagnostic 2.0:https://www.microsoft.com/en-us/download/details.aspx ?id=49924
它处理多个 w3wp.exe 进程。如果您需要通用解决方案,则必须编写脚本 - 例如https://gallery.technet.microsoft.com/scriptcenter/Getting-SysInternals-027bef71
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |