快科技4月21日消息,前微軟工程師、Windows原版任務(wù)管理器開發(fā)者Dave Plummer在網(wǎng)上揭秘:Windows任務(wù)管理器顯示的CPU占用率并非實時數(shù)據(jù),而是定時刷新的周期平均值。
Plummer曾參與Windows ZIP文件支持和Windows NT開始菜單等標(biāo)志性項目,他親自打造了初版任務(wù)管理器。
為確保工具不浪費系統(tǒng)資源,他從編程和工程角度將這款工具設(shè)計得極為簡潔,使其能在90年代的電腦上流暢運行。但正是這種極簡設(shè)計,埋下了數(shù)值不準(zhǔn)的伏筆。
Plummer表示,任務(wù)管理器的刷新由計時器驅(qū)動,每隔一段時間抓取一次數(shù)據(jù),它展示的是兩次刷新間隔內(nèi)CPU的統(tǒng)計情況,并非真實時刻的負(fù)載。
如果單純用CPU占用時間除以刷新間隔,結(jié)果會非常依賴圖形用戶界面計時器的精度。
他打了個比方:這就像把節(jié)拍器放在皮卡車后斗里,在坑洼土路上行駛,想讓它保持絕對穩(wěn)定基本不可能。
因此,他采用了更嚴(yán)謹(jǐn)?shù)乃惴ǎ鹤屓蝿?wù)管理器記錄每個進程自啟動以來的總運行時間(內(nèi)核時間+用戶時間),用當(dāng)前值減去上一次刷新時的總值,得到該進程在間隔期內(nèi)的CPU消耗,再除以所有進程在該期間的總CPU耗時。
這套方法看起來十分復(fù)雜,但比直接做除法精準(zhǔn)得多。
然而技術(shù)的演進讓這套算法顯得力不從心。現(xiàn)代CPU支持動態(tài)調(diào)頻、睿頻加速、溫控降頻和深度休眠,讓CPU時間占用與實際完成工作量脫鉤,單一百分比無法完整反映處理器工作狀態(tài)。
Plummer指出,過去的CPU使用時間能很好反映工作量,但現(xiàn)在兩者關(guān)聯(lián)已非常松散。他認(rèn)為理想的CPU使用率應(yīng)該衡量實際完成工作量與理論最大可完成工作量的比值,但自己已從微軟退休,無法推動改變。
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.