7月17日消息,以 Bug 多聞名的 Windows 10 系統(tǒng)又爆出了新問題。
近日一位谷歌工程師在工作中發(fā)現(xiàn),他的 Windows 10 系統(tǒng)在 Intel 24 核心 48 線程處理器、64GB 內(nèi)存、高速 SSD 等超強(qiáng)硬件配置下,處理起普通編譯任務(wù)時(shí)竟然也出現(xiàn)了卡頓現(xiàn)象,有時(shí)竟然連鼠標(biāo)也動(dòng)不了。
程序員出身的他立即調(diào)出系統(tǒng)管理器查看,卻發(fā)現(xiàn)無論 CPU 還是內(nèi)存都并沒有占滿,很少有超過 50% 的。
通過查看 Windows 系統(tǒng)事件追蹤工具 ETW,結(jié)果發(fā)現(xiàn) Windows 10 在進(jìn)程銷毀方面的確存在一個(gè)嚴(yán)重的問題。即當(dāng)程序/進(jìn)程需要關(guān)閉時(shí),Windows 10 會(huì)通過某一單獨(dú)的線程進(jìn)行處理。也就是說即便你有幾十個(gè)處理器核心,Windows 10 在關(guān)閉進(jìn)程時(shí)也只會(huì)調(diào)用其中的一個(gè),即這時(shí)的 Windows 10 其實(shí)是單線程運(yùn)行的。
一般情況下這也沒什么,但對于程序員來說,頻繁啟動(dòng)、關(guān)閉大量進(jìn)程是最常見的操作,于是悲劇就發(fā)生了。而且更糟糕的是,該問題在 CPU 核心數(shù)越多,關(guān)閉和開啟的動(dòng)作越頻繁的情況下,卡頓就越嚴(yán)重。該工程師面對的問題就是,CPU 高達(dá) 48 線程,但銷毀進(jìn)程時(shí)只有 1 個(gè)在拼命工作,另外 47 個(gè)都在圍觀。
經(jīng)過驗(yàn)證,這一 Bug 只在 Windows 10 上存在,老版本的 Windows 7 反而沒有問題。目前,他已經(jīng)將該 Bug 上報(bào)微軟。