驱动之家 04-21
原作者摊牌:Windows任务管理器CPU占用全是假的 压根没做实时统计
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

快科技 4 月 21 日消息,前微软工程师、Windows 原版任务管理器开发者 Dave Plummer 在网上揭秘:Windows 任务管理器显示的 CPU 占用率并非实时数据,而是定时刷新的周期平均值。

Plummer 曾参与 Windows ZIP 文件支持和 Windows NT 开始菜单等标志性项目,他亲自打造了初版任务管理器。

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

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

如果单纯用 CPU 占用时间除以刷新间隔,结果会非常依赖图形用户界面计时器的精度。

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

因此,他采用了更严谨的算法:让任务管理器记录每个进程自启动以来的总运行时间(内核时间 + 用户时间),用当前值减去上一次刷新时的总值,得到该进程在间隔期内的 CPU 消耗,再除以所有进程在该期间的总 CPU 耗时。

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

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

Plummer 指出,过去的 CPU 使用时间能很好反映工作量,但现在两者关联已非常松散。他认为理想的 CPU 使用率应该衡量实际完成工作量与理论最大可完成工作量的比值,但自己已从微软退休,无法推动改变。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

windows 微软 界面 编程 工程师
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论