Cad*_*nge 4 windows cpu-usage sql-server scheduled-tasks database-administration
我有一台服务器在深夜莫名其妙地使用了大量 CPU,而此时它不应该承受沉重的负载。这会导致一些数据库调用超时,并且我在 PerfMon 中设置了一些警报以在 CPU 使用率超过 50% 时触发,这似乎与 CPU 峰值与数据库超时一致。
我怀疑这是某种计划任务,但我查看了 Windows 和 SQL Server 计划任务列表并没有找到任何内容。Windows 事件日志仅包含数据库超时和 PerfMon 条目,表明 CPU 使用率已飙升。
我的问题是这样的:如何在不实际存在的情况下确定导致 CPU 峰值的进程?我真的不想在凌晨 2 点登录服务器
更新:事实证明问题出在我正在开发的产品上。这个问题在正常工作时间开始显现出来,毕竟我不必依赖一些偷偷摸摸的性能调查技术。
这里有一些选择;如果 CPU 使用率很高,最简单的方法是 Process Explorer,否则您更有可能希望查看 Process Monitor 中的图表。我觉得最有可能的罪魁祸首是备份或更新,所以你可能想看看这些是什么时候安排的。任务调度程序确实显示了上次运行任务的时间...
ProcDump可以根据高 CPU 使用率等因素自动创建转储文件。
拥有转储的一个优势是您的开发人员实际上可以在 WinDBG 中调试它。
Process Monitor,将其设置为保留大量历史记录并让它仅记录分析事件。
在选项中,您可以设置历史深度并可以打开分析事件的生成。
然后,禁用 I/O、注册表和网络按钮。
Windows Performance Toolkit具有 XPerf,它允许您进行高级跟踪。
这可能是第一次很难,所以你可能想先尝试进程监视器......
| 归档时间: |
|
| 查看次数: |
18175 次 |
| 最近记录: |