我正在生产系统上运行perfview(只是默认集合),在这种情况下,CPU会在几分钟的时间内达到100%的峰值。我得到了一些有用的结果,但我也得到了一堆BROKEN堆栈。
该计算机是Windows Server 2012 R2。该应用程序是一个启动的exe。该应用程序在.NET 4.0中编译,但服务器运行的是.NET 4.6.1
perfview帮助表示我的情况的这些BROKEN堆栈在Windows 8中得到了修复(我猜测的还有Windows Server 2012)。我的dll不是ngen-ed但我不认为我必须这样做,好吧,问题在Windows 8中得到修复
有什么想法吗?
答案 0 :(得分:3)
来自PerfView命令行帮助:
用法:PerfView EnableKernelStacks
在X64机器上,如果遇到堆栈损坏问题 代码正在内核中执行,设置此选项并重新启动 可能会改善事情