哈?连链接都不放,这样的问题有点过分了吧。
原文在:24-core CPU and I can’t move my mouse
后来被转发到 24-core CPU and I can’t move my mouse • r/Windows10
这个博客的作者叫Bruce Dawson,是个著名的性能分析和优化专家。他的博客每一篇都很值得阅读。里面的性能分析方法、对工具的使用,都是专家级别的。
结论是在win32kbase.sys里面的一个函数NtGdiCloseProcess造成了巨量的hung。这个函数里面有个critical section,是个单线程独占的操作。结果就是所有有gdi的进程都在结束进程的时候堵在那里了。原作者遇到的情况是,在24核的机器上编译chrome的时候卡到连鼠标都无法移动。如果core少的话,反而竞争没有那么激烈。
== 更新 ==
我今天在8核的机器上也重现了这个问题。已经有人在修,有什么进展我会告诉大家。