昨日の夜、古いラップトップにWindows 7をインストールしたので、Win32 APIプログラミングを試すことができました。約5時間前に更新を開始しました。更新は30分ほどでダウンロードされましたが、現時点ではまだインストール中で、58%しか完了していません。
なぜこんなに時間がかかるのですか?それを早めるにはどうしたらいいですか?
ラップトップは、2 GBのRAM、120 GBのSATAハードディスク、およびデュアルコアのPentium D CPUを搭載したHP Pavilion dv6701usであり、その価値があります。
更新(2015年7月18日):家庭内のすべてのWindows 7マシンで、32ビットと64ビットの両方でこの動作を確認しました。 RAM、CPU速度、およびコア数に関しては、SSDとHDDを比較しても、ほとんど変わらないようです。私がアップデートを見たすべてのWindows 7システムは、200時間以上のアップデートをインストールするのに8時間以上かかります。
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は依然として以前と同じようにすごくすごいです。全世界が無限ループに陥っているように見えながら、利用可能なCPUパワーの50%を奪っています。
私はこれを理解していません。 Windowsのデスクトップユーザーベースの90%は、デフォルトではこれほどひどいものではありません...調査を続けます。
Windows Vista以降、更新プログラムは差分ファイルとして提供されます。そのため、セットアップ中に、Windowsは差分に基づいて実際のファイルを作成する必要があります。これはCPUに負荷がかかり、特にPentium Dなどの非常に古いCPUでは時間がかかります。
提供されたxperfファイルでは、pending.xml
を作成する必要があるため、TrustedInstallerのCPU使用率が高くなっています。これは、更新されたファイルが使用中であり、シャットダウン/ブート中に更新する必要があったことを意味し、このダイアログが表示されます。
ここで、CPUはXMLデータの書き込みでビジーです
wcp.dll!Windows::ServicingAPI::CCSITransaction::GeneratePendingTransactionContent
レジストリにデータを書き込む
wcp.dll!Windows::Rtl::SystemImplementation::CKey_IRtlKeyTearoff::CreateNewKey
。
しかし、より大きな問題は、5つの.Net Framework更新をインストールしようとすることです。
.Netオプティマイザーサービスmscorsvw.exe
が実行され、更新された.netファイルがマシンコードにコンパイルされてパフォーマンスが向上し、.netアプリケーションのメモリ使用量が削減されるため、Windowsはビジー状態になります。
これも非常にCPUに負荷がかかり、Intel Atom CPU N270 @ 1.60GHz
が遅すぎます。
コンピュータがWindows Updateをインストールするのに時間がかかる理由を見つけるには、スタートメニューを開き、Resource Monitor
と入力します。コンピュータでのリソース使用の概要を示す画面が表示されます。
ウィンドウの右側に、コンピュータの4つの主要なサブシステム(CPU、ディスク、メモリ、ネットワーク)でのアクティビティを示す4つのグラフが表示されます。 探しているのは、コンピュータのボトルネック、つまり、他のすべてを抑制しているサブシステムです(通常、一度に1つしかありません)。
各グラフを観察すると、グラフのY軸の値を表す、緑色の網掛け領域と青い線が表示されます。
青い線は、プロセッサーの最大周波数がどれだけ使用されているかを示します。青い線がグラフの上部にある場合、CPUは定格速度の100%で実行されています。チャートの途中まである場合、CPUは50%スロットルされています。
緑の領域は、お使いのPCが使用しているプロセッサーの利用可能な速度の(0〜100%のスケールで)どれくらいかを示します。
緑の網掛けがグラフを塗りつぶす場合、CPUがボトルネックになります。その場合、青い線も上部にあるはずです。
青い線は、ディスクのビジー状態が0%(アイドル)から100%であることを示します(状況下で可能な限りのハードワーク)。緑色の線は、データの総Mbps/Gbpsが読み取られて書き込まれていることを示し、グラフの上部に表示されている図の0〜100%のスケールで表示されます。したがって、グラフに10 Mbpsと表示され、緑色の線が75%上がっている場合、ディスクは7.5 Mbpsの非常に遅いデータを移動しています。
青い線がチャートの上部にある場合、ディスクがボトルネックになります。 ところで、これはあなたのボトルネックがどこにあるかについての私の推測ですしかし、私はあなたがそれを自分で理解する方法を教えているので、それは重要ではありません。
ネットワークチャートはディスクチャートに似ています。青い線は、ネットワークアダプターの全帯域幅の何パーセントが使用されているかを示し、緑の線は、示されているスケールに従って、使用されているデータの量を示しています。
青と緑の線がグラフの上部にある場合、ネットワークがボトルネックになります。
青い線は物理メモリの使用率を示し、緑の線は1秒あたりのハードページフォールトの数を示します。
Windowsはデータを積極的にメモリからハードドライブに移動して空き容量を確保するため、グラフの上部に青い線allが表示されることはほとんどありませんRAM使用可能(これはpagingと呼ばれます)。ただし、RAMが大量に使用されている場合そしてハードドライブが非常にアクティブであるなら、メモリがおそらくボトルネックです。ページ数/秒は、RAMが不足していることを示している可能性もあります。もし一貫性のあるハードページフォールトの発生。つまり、Windowsは(高速)メモリでデータを検索することを望んでいるが、必要なビットを(非常に遅い)ディスクのページファイルで調べる必要がある。
コンピューターが動作しているときにリソースモニターを監視することで、ダウンしているサブシステムをすばやく特定できるため、パフォーマンスを最も効果的に向上させるアップグレードを特定できます。