为什么Windows 7更新需要这么长时间安装?

DanL4096

昨天晚上,我在一台旧笔记本电脑上安装了Windows 7,以便可以尝试Win32 API编程。我大约5个小时前开始更新。它在30分钟左右的时间内下载了更新,但截至目前,它仍在安装更新,仅完成了58%。

为什么要花这么长时间,我该怎么做才能加快速度?

这款笔记本电脑是一台HP Pavilion dv6701us,配备2 GB的RAM,120 GB的SATA硬盘和双核Pentium D CPU,非常物有所值。

更新(2015年7月18日):我现在已经在家庭中的每台Windows 7计算机(32位和64位)上都观察到了此行为。关于RAM,CPU速度和内核数量,甚至SSD与HDD似乎几乎不变。我见过的所有Windows 7系统都进行了更新,需要8个多小时才能安装约200个更新。

是否有人对Windows Update的运行速度没有明显的影响

更新(2015年7月19日):这是压缩的xprof文件的链接:

https://drive.google.com/file/d/0B7EgLkt64WtaWWc5YTJicThLNFk/view?usp=sharing

更新(2015年9月14日):

我对下面的答案并不完全满意-微软真的可以提供损坏的东西吗?-因此,我决定尝试Sysinternals procmon。这是我一遍又一遍地看到的,Windows Update挂起,甚至没有开始下载内容:

High Resolution Date & Time:    9/14/2015 8:24:12.9744097 PM
Event Class:    Registry
Operation:  RegOpenKey
Result: NAME NOT FOUND
Path:   HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate
TID:    3376
Duration:   0.0000183
Desired Access: Query Value

该WindowsUpdate密钥不存在。可能应该是不存在的;但是我强烈怀疑否则,因为更新程序的服务主机进程会一遍又一遍地循环访问它。但是,在这种情况下,问题将是:它应包含哪些条目/值?

到目前为止,Google / Bing尚未启用任何功能,但我将继续关注它。

更新2(2015年9月14日):

我从这里尝试过此修复程序:https : //support.microsoft.com/en-us/kb/2700567

它声称已修复了某些问题,包括有关更新服务注册丢失或损坏(!)的问题。怪异的 这是Windows 7 SP1的全新安装。

...但是,Windows Update仍然像以前一样缓慢,浪费了50%的可用CPU功率,而整个世界似乎陷入了无休止的循环。

我只是不明白这一点。Windows拥有90%的桌面用户群,默认情况下不可能如此糟糕……我将继续调查。

魔术师1981

从Windows Vista开始,更新作为差异文件提供。因此,在安装过程中,Windows需要基于差异创建实际文件。这会占用大量CPU,并且会花费一些时间,尤其是在像Pentium D这样的较旧的CPU上。

在提供的xperf文件中,TrustedInstaller的CPU使用率很高,因为它需要创建一个pending.xml这意味着已更新的文件正在使用中,必须在关机/引导过程中进行更新,这将导致此对话框:

在此处输入图片说明

CPU在这里忙于写入XML数据

wcp.dll!Windows::ServicingAPI::CCSITransaction::GeneratePendingTransactionContent 

并将数据写入注册表

wcp.dll!Windows::Rtl::SystemImplementation::CKey_IRtlKeyTearoff::CreateNewKey

但是更大的问题是您尝试安装5 .Net Framework更新:

在此处输入图片说明

现在Windows正在忙碌,因为.Net优化器服务mscorsvw.exe运行以将更新的.net文件编译为机器代码,从而提高性能并减少.net应用程序的内存使用量。

在此处输入图片说明

这也占用大量CPU,Intel Atom CPU N270 @ 1.60GHz而且速度太慢。

Microsoft提供了一个脚本来加快此过程

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么logstash需要这么长时间才能启动/加载?

为什么Azure部署需要这么长时间?

为什么C ++编译需要这么长时间?

为什么排序需要这么长时间?

为什么从Visual Studio部署Azure需要这么长时间?

为什么嵌套的for循环需要这么长时间才能计算?

为什么构建Android Studio需要这么长时间?

为什么创建表需要这么长时间?

为什么Cython的点子安装需要这么长时间?

为什么从后台线程更新UI需要这么长时间?

为什么目录搜索需要这么长时间?

为什么在Ruby中迭代需要这么长时间?

为什么DOM点击事件需要这么长时间?

为什么添加AUTO_INCREMENT需要这么长时间?

为什么从我粘贴的内容中更新IDE需要这么长时间?

Postgres:为什么选择count(*)需要这么长时间

为什么删除Kafka主题需要这么长时间?

为什么我的dns更改需要这么长时间才能更新?

为什么sencha touch需要这么长时间才能加载?

为什么更新包需要这么长时间?

为什么“查看”功能需要这么长时间才能运行?

为什么修补程序145006需要花费这么长时间安装?

为什么打开多个文件需要这么长时间?

为什么mkntfs需要这么长时间?

为什么我的程序需要这么长时间才能运行?

为什么检查 Console.OutputEncoding 需要这么长时间?

为什么删除约束需要这么长时间?

为什么 IndexOrDocValuesQuery 需要这么长时间?

为什么查找中间节点的查询需要这么长时间?