Windows XP 的用户或许已经发现,今天的 XP 要比 2001 年发布的 XP 要慢。快慢与硬件无关,而是与操作系统的一个 bug 有关。Windows XP 更新服务使用的一个更新依赖算法被发现会严重拖慢 XP 机器的速度。
按照设计,Windows 更新服务从微软的更新服务器检索补丁信息,补丁信息包含有每个补丁的信息:应用于哪个软件,以及历史补丁或当前已被取代的补丁。Windows 补丁是渐增的。如果全新安装 Windows XP,你不需要逐个安装 IE 6 发布的所有补丁,而只需要安装最新补丁,因为最新补丁包含了过去的所有修正。然而,不幸的是,XP 的更新服务客户端组件使用了一个指数扩展的算法处理历史补丁记录。如果系统的同一个程序安装了许多次补丁,每一个被取代的补丁会导致执行算法的处理时间翻倍。
XP 已经有 13 年历史,历史补丁的记录非常长,程序可能有 40 个以上的历史补丁。处理更新的 svchost.exe 进程在启动后占据了 CPU 资源,需要花一个小时以上的时间才能完成整个过程,之后系统才会正常工作。
微软 11 月例行更新据说修复了这个问题,结果没有;12 月例行更新号称也修复了该问题,结果仍然没有。明年 4 月,XP 将会停止支持,届时微软能不能推出修复程序已经无关紧要,用户只要关闭更新服务,系统就能正常工作了。