c# - 如何识别在 PerfMon 中占用 100% CPU 使用率的应用程序线程?

标签 c# multithreading performance visual-studio perfmon

enter image description here

enter image description here

尝试微调/优化我的 C# 应用程序。一直在运行 PerfMon,并且我在某些操作中始终获得 100% 的峰值。我可以从 PerfMon 获取线程实例号,但是在调试时从 Visual Studio 2015 的线程窗口,我怎么知道对应的是哪个线程?

还是我做错了?我想找出 CPU 使用率不时飙升的线程的身份。提前致谢!

最佳答案

免责声明:我在 Visual Studio 中使用探查器

我会使用 Visual Studio 调试器附加到进程,然后调出诊断工具窗口(因为你说你使用的是 VS 2015)。如果切换到“CPU 使用率”选项卡,您可以启用 CPU 分析,重现您的问题,然后中断该过程。这将导致探查器分析收集到的跟踪。最后,您可以点击过滤器下拉菜单,这将允许您按线程过滤调用树。我们还按线程 ID 列出了 CPU 使用率,因此您可以使用它来确定哪个线程正在执行工作以及它在做什么。

关于c# - 如何识别在 PerfMon 中占用 100% CPU 使用率的应用程序线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38070245/

相关文章:

java - 方法中仅运行单线程

Java用另一个对象监视一个对象

c# - 一对多投影 LINQ 查询重复执行

javascript - 运行 JQuery 异步 - 不中断站点加载

c# - 重构方法以使用类作为参数

c# - 在 C# 中设置对象的默认值 `String`

c# - 如果 UseSpaStaticFiles() 应该服务于 Angular 页面,为什么仍然需要 UseSpa()?

c# - 带截断的多行标签

c++ - C++ 中的可变类

mysql - 维护数据库中唯一值的列表