Dan*_*096 8 windows-7 windows-update
我昨天晚上在一台旧笔记本电脑上安装了 Windows 7,以便我可以试验 Win32 API 编程。我大约 5 小时前开始更新。它在 30 分钟左右下载了更新,但截至目前,它仍在安装它们,仅完成 58%。
为什么这需要这么长时间,我能做些什么来加快它?
笔记本电脑是 HP Pavilion dv6701us,配备 2 GB 内存、120 GB SATA 硬盘和双核奔腾 D CPU,物有所值。
更新(2015 年 7 月 18 日):我现在在家中的每台 32 位和 64 位 Windows 7 机器上都观察到了这种行为。它似乎在 RAM、CPU 速度和内核数量方面几乎不变,甚至是 SSD 与 HDD。我见过的所有 Windows 7 系统都在更新,安装大约 200 个更新需要 8 多个小时。
有没有人认为 Windows 更新不是特别慢?
更新(2015 年 7 月 19 日):这是压缩的 xprof 文件的链接:
https://drive.google.com/file/d/0B7EgLkt64WtaWWc5YTJicThLNFk/view?usp=sharing
更新(2015 年 9 月 14 日):
我对下面的答案并不完全满意 - 微软真的能运送坏掉的东西吗?- 所以我决定尝试使用 Sysinternals procmon。这就是我一遍又一遍地看到的,而 Windows 更新挂起,甚至没有开始下载内容:
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
Run Code Online (Sandbox Code Playgroud)
该 WindowsUpdate 密钥不存在。可能它不存在;但我强烈怀疑并非如此,因为更新程序的服务主机进程在看似无限循环中一遍又一遍地访问它。但是,在这种情况下,问题是:它应该包含哪些条目/值?
到目前为止,谷歌/必应还没有发现任何东西,但我会继续关注这个。
更新 2(2015 年 9 月 14 日):
我从这里尝试了修补程序:https : //support.microsoft.com/en-us/kb/2700567
它声称修复了一些问题,包括更新服务注册丢失或损坏(!)。奇怪。这是全新的 Windows 7 SP1 安装。
... 然而,Windows 更新仍然像以前一样缓慢,消耗 50% 的可用 CPU 功率,同时似乎让全世界陷入无限循环。
我只是不明白这一点。Windows 拥有 90% 的桌面用户群,默认情况下不可能这么糟糕......我会继续调查。
从 Windows Vista 开始,更新以差异文件的形式出现。所以在安装过程中,Windows 需要根据差异创建真实的文件。这是 CPU 密集型的,需要一些时间,尤其是在像 Pentium D 这样的老式 CPU 上。
在您提供的 xperf 文件中,TrustedInstaller 的 CPU 使用率很高,因为它需要创建一个pending.xml
. 这意味着更新的文件正在使用中,并且必须在关闭/启动期间进行更新,从而导致出现此对话框:
这里 CPU 正忙着写 XML 数据
wcp.dll!Windows::ServicingAPI::CCSITransaction::GeneratePendingTransactionContent
Run Code Online (Sandbox Code Playgroud)
并将数据写入注册表
wcp.dll!Windows::Rtl::SystemImplementation::CKey_IRtlKeyTearoff::CreateNewKey
.
但更大的问题是您尝试安装 5 个 .Net Framework 更新:
现在 Windows 很忙,因为 .Net 优化器服务mscorsvw.exe
运行以将更新的 .net 文件编译为机器代码,以提高性能并减少 .net 应用程序的内存使用。
这也非常占用 CPU 资源,而且您Intel Atom CPU N270 @ 1.60GHz
的速度太慢。
归档时间: |
|
查看次数: |
67964 次 |
最近记录: |