我在使用 ASP.NET v 4.0 应用程序时,经常会遇到每隔 4 天就会出现一次 CPU 占用率飙升至 75% 的情况,有时会运行良好,直到一天结束,有时会稳步增长到 100%
然后我必须重新启动服务器。
我已遵循有关“当工作进程的 CPU 达到 100% 时该怎么办”的每条指南,并且我知道它是哪个工作进程,它是哪个应用程序池。我所能做的就是找到该进程并终止它或回收应用程序池,这有时会有所帮助。
我不知道当 CPU 使用率达到 75% 时系统上发生了什么。
我想知道是否有一种方法可以在 CPU 达到 50% 时启动 procmon 并运行 2 分钟,然后关闭并保存数据?
答案1
从来没有这样做过,但最简单的方法是使用 perfmon 中的警报。
正如您在下面看到的,您可以在操作发生时运行脚本。
选择操作选项卡,如图 3-18 所示。您现在可以指定触发警报时要执行的以下任何操作:在应用程序事件日志中记录条目为警报创建日志条目。
发送网络消息到 发送网络消息到指定的计算机。
运行此程序设置在发生警报时运行的程序或脚本的完整文件路径。
更多信息那里设置警报
在您的脚本之后您可以按照这种方式运行它;
procmon /Quiet /Minimized /BackingFile log.PML
TIMEOUT /T 120
procmon /Terminate