2

我们的一个 Web 应用实例的 CPU 负载很高,我正在尝试调查原因。AI中记录了一些轮廓痕迹。它们都包含一个很长的“非托管异步”事件。

截屏

这个“非托管异步”是什么意思?

4

1 回答 1

1

.Net 框架发出 ETW 事件并在线程之间传递活动 ID,以便可以跨线程跟踪异步调用。非托管代码(本机代码)和一些较旧样式的异步代码缺少这些事件和活动 ID,因此分析器无法跟踪哪个线程正在运行代码以及正在运行哪些代码。这在调用堆栈中被标记为“非托管异步”。如果您下载 ETW 文件,您可以使用perfview来更深入地了解正在发生的事情。

于 2019-03-03T21:14:37.730 回答