你以為自己的電腦很厲害?48線程、64GB記憶體照樣跑不動Win10
最近一位來自Google的額程式師在自己部落格中聲稱他在使用中發現Windows 10一處資源和負載分配上的BUG,簡單來說在面對特定環境(比如Chrome的時候)會出現嚴重的1核苦幹、23核圍觀的“慘劇”
自從微軟結束RedStone 2、開始RedStone 3分支的預覽測試之後,當看到包括Fluent Design Language等改動較大的革新特性時,出於職業習慣,小編沒有和以前一樣第一時間接受預覽版,後來的體驗發現這是正確的,直到最近推送的Windows 10 Insider Preview Build 16232才開始變得穩定可靠。不過看起來小編作為普通讀者境界還是差一籌,因為一位來自Google的程式師表示自己剛剛遭遇的BUG非常怪異,差點讓他以為自己異常強大的設備卻跑不動自家的Chrome瀏覽器。
式師Bruce Dawson任職於Google,但這不是重點,重點是他的機器很厲害:一台擁有24核心、48線程,64GB記憶體的筆電工作站,但即使是如此,近日他在Google Chrome流覽器上工作的時候,突然發現自己的機器運行的奇慢,甚至連滑鼠都會每隔幾秒就卡住。隨後他強制打開工作管理員後發現處理器使用率竟然只有不到一半,而硬碟甚至接近待機狀態。那麼到底是怎麼回事呢?
通過使用Windows事件檢視器觀察之後,Bruce Dawson發現在Windows 10當中(原作者沒有表明版本號)出現一個非常嚴重的關於分配負載的BUG,大家可以看到累積狀態下處理器使用率出奇的高,Python佔據超過20%的佔用率,Complier_Proxy也要佔據不少,累積下來出現多個掛起時間長達1秒以上的進程。於是最後Bruce Dawson通過一系列的觀察和診斷之後,編譯出一套測試工具,發現跑起來在該版本下的Windows 10會出現47個線程處於待機狀態(俗稱圍觀)。只有1個線程在工作。
雖然Bruce Dawson在文章中表明自己在測試中使用的版本不明的Chrome會創建出非常多的進程,並且在擁有足夠多核心的機器上會反復喚醒進程,換句話說Chrome也是原因之一(原作者稱這不是“我擁有24顆核心但還是LAG”,而是“因為我擁有24顆核心,所以我出現LAG”),但是將負載分配在1個線程上還是不明智的。
目前Bruce Dawson表示自己已經向微軟報告該錯誤,大家怎麼看呢?話說不止是Windows 10經常有這樣那樣的問題,Chrome也是記憶體大戶啊。