分析 CPU 进程长期 Windows 使用情况的最佳方式
Best way to profile long-term CPU usage of Windows process
我有一个自己的应用程序,它增加了 Windows 上进程的 CPU 使用率(在本例中:audiodg.exe,它处理 'some' 中的音频方法)。我想在一分钟左右的时间内测量此过程的整体 CPU 性能。
可以将 Visual Studio 附加到此进程(运行 作为管理员,只需执行附加到进程...),因此我可以查看 CPU 和内存性能.但是,这不是很有用。该过程始终占总数的 1-2% CPU,因此该图没有提供任何有趣的视觉信息。
此外,我对平均超过 1 分钟感兴趣,这是 Performance Profiler 做不到的(我认为?)。
从 Windows 过程中获取准确的平均 CPU 性能数据的最佳方法是什么?是否有任何工具或 API 可以为我获取这些数据?
我认为 Visual Studio 不是这种用法的最佳工具,因为它本身就很重。
我会使用 Windows 性能记录器,您可以在其中 select 记录您想要记录的内容:
然后您开始记录,复制问题,然后停止记录。
之后,您可以在 Windows 性能分析器中打开日志并尝试了解问题发生的原因。
或者,当 CPU 超过特定阈值时,您可以使用 ProcDump.exe 进行进程内存转储,然后从转储中尝试调查问题。
我有一个自己的应用程序,它增加了 Windows 上进程的 CPU 使用率(在本例中:audiodg.exe,它处理 'some' 中的音频方法)。我想在一分钟左右的时间内测量此过程的整体 CPU 性能。
可以将 Visual Studio 附加到此进程(运行 作为管理员,只需执行附加到进程...),因此我可以查看 CPU 和内存性能.但是,这不是很有用。该过程始终占总数的 1-2% CPU,因此该图没有提供任何有趣的视觉信息。 此外,我对平均超过 1 分钟感兴趣,这是 Performance Profiler 做不到的(我认为?)。
从 Windows 过程中获取准确的平均 CPU 性能数据的最佳方法是什么?是否有任何工具或 API 可以为我获取这些数据?
我认为 Visual Studio 不是这种用法的最佳工具,因为它本身就很重。
我会使用 Windows 性能记录器,您可以在其中 select 记录您想要记录的内容:
然后您开始记录,复制问题,然后停止记录。 之后,您可以在 Windows 性能分析器中打开日志并尝试了解问题发生的原因。
或者,当 CPU 超过特定阈值时,您可以使用 ProcDump.exe 进行进程内存转储,然后从转储中尝试调查问题。