为确保对象不浪费体系资本,他从编程和工程角度将这款对象设计得极为简洁,使其能在90年代的电脑上流畅运行。但恰是这种极简设计,埋下了数值不准的伏笔。

Plummer表示,义务治理器的刷新由计时器驱动,每隔一段时光抓取一次数据,它展示的是两次刷新距离内CPU的统计情况,并非真及时刻的负载。

他打了个比方:这就像把节拍器放在皮卡车后斗里,在坑洼土路上行驶,想让它保持绝对稳定根本弗成能。

是以,他采取了更严谨的算法:让义务治理器记录每个过程自启动以来的总运行时光(内核时光+用户时光),用当前值减去上一次刷新时的总值,获得该过程在距离期内的CPU消费,再除以所有过程在该时代的总CPU耗时。

这套办法看起来十分复杂,但比直接做除法精准得多。

然而技巧的演进让这套算法显得力不从心。现代CPU支撑动态调频、睿频加快、温控降频和深度休眠,让CPU时光占用与实际完成工作量脱钩,单一百分比无法完全反应处理器工作状况。

Plummer指出,以前的CPU应用时光能很好反应工作量,但如今两者接洽关系已异常松散。他认为幻想的CPU应用率应当衡量实际完成工作量与理论最大年夜可完成工作量的比值,但本身已从微软退休,无法推动改变。

假如纯真用CPU占用时光除以刷新距离,成果会异常依附图形用户界面计时器的精度。

原作者摊牌:Windows义务治理器CPU占用满是假的 压根没做及时统计

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部