最近、8.1 から 10 にアップグレードしました (その前は 7)。ログイン時に、procexp (監視用)、チャット クライアント、super-f4 や flux などのツールなど、必要な一連のプログラムを自動起動してシステム トレイに入れるようにしています。この自動起動の状況は何年もほとんど変わっておらず、どれもかなり軽量なプログラムなので、それほど時間はかからないはずです。
7 では、ログイン後すぐに処理が進み、システム トレイはマシンガンから発射されたかのように必要なアイコンでいっぱいになりました。8 と 10 になってから、その速度が大幅に低下し、起動に長い時間がかかるようになりましたが、Windows はほとんど何もしていないようです。ウイルス対策やその他のさまざまな要素を変更しましたが、何も役に立ちません。どうやら、Windows 自体が何らかの形で処理を遅らせているようです。
高速な SSD、8GB の RAM を搭載しており、特に問題はありません。
昨日、Windows パフォーマンス レコーダーでチェックしたところ、グラフの概要は次のようになりました。
CPU は半分の時間アイドル状態、SSD はほとんど動作していない、RAM は十分です。
他の人は基本的に、1 つのリソースがボトルネックになるまでパフォーマンスが上昇するのを目にしますが、それが私の望みです。ログイン後の起動にこれほど時間がかかるのは一体何なのでしょうか? 新しい Windows では、ログイン後に PC がリソースをボトルネックにしたくない人のために、起動を人為的に遅らせている (これは正直言って逆効果です) という漠然としたヒントをあちこちで読みましたが、これについて難しいことは何も見つかりません。
ログイン時にイベント ビューアーにエラーが繰り返し表示されることもないので、これも原因ではありません。
他に何が私を遅らせているのでしょうか?
答え1
WPA で ETL を開き、Profiles
-> Apply
->をクリックしてBrowse Catalog
ファイルを選択するFullBoot.Boot.wpaprofile
と、次の概要が表示されます。
最も長い遅延は WinlogonInit フェーズ (27 秒) で発生することがわかります。
WinLogonInit サブフェーズは、SMSSInit が完了して Winlogon.exe を起動すると開始されます。WinLogonInit 中は、ユーザー ログオン画面が表示され、サービス コントロール マネージャーがサービスを開始し、グループ ポリシー スクリプトが実行されます。WinLogonInit は、Explorer プロセスが開始すると終了します。
視覚的なヒント WinLogonInit は、ログオン画面が表示される直前に開始されます。デスクトップが初めて表示される直前に終了します。
WinLogonInit パフォーマンスの脆弱性
WinLogonInit 中に多くの操作が並行して発生します。多くのシステムでは、このサブフェーズは CPU に依存しており、I/O 要求が大きくなります。このフェーズで開始するサービスが適切に機能することは、起動時間の最適化に不可欠です。サービスは依存関係を宣言したり、ロード順序グループを使用して特定の順序で開始されるようにすることができます。Windows はロード順序グループを順番に処理します。初期のロード順序グループでのサービス初期化の遅延は、後続のロード順序グループをブロックし、起動プロセスをブロックする可能性があります。
あなたの場合、CPU やディスクの問題ではありません。遅延はパスワードの入力によって発生します (RequestCredentials には 16 秒かかります)。
次に、ユーザー自体のログオンにも 4 秒かかります。
現在、Microsoft アカウントを使用していますか? ネットワークが十分に安定していないために遅延が発生している可能性があります。