时间:2017-07-16 来源:互联网 浏览量:
很多人将Windows 10系统称为“Bug10”,虽然太言过其实,但不可否认的是,Windows 10确实经常会出现一些很诡异的Bug。
来看看Google程序员Bruce Dawson的遭遇。
公司为他配备了一套Intel 24核心48线程处理器、64GB内存、高档SSD组成的强大系统,按理说用来编程会快速闪电,但奇怪的是,在启动编译后,Windows 10系统却卡得像一只蜗牛,鼠标几乎都动不了了。
调出系统管理器查看,却发现无论CPU还是内存都并没有占满,只有大约50%。
Bruce Dawson轻车熟路地启动Windows系统事件追踪工具ETW,结果发现Windows 10在进程销毁方面存在一个严重的Bug。
简单来说,当一个Windows系统/程序进程需要关闭的时候,会通过单独一个线程进行处理,也就是说即便你有几十个处理器核心/线程,Windows系统也完全支持它们,但这时候Windows其实是单线程运行的。
一般情况下这也没什么,但对于程序员来说,频繁启动、关闭大量进程是很常见的,于是悲剧就发生了,而且更糟糕的是,CPU核心数越多,问题反而越严重。
Bruce Dawson面临的就是,1个线程在拼命忙碌,其他47个都在围观……
进一步研究发现,这个Bug只在Windows 10上存在,老版本的诸如Windows 7反而没问题。
Bruce Dawson还写了一篇详细的分析文章,感兴趣的可以戳这里。