スキップしてメイン コンテンツに移動

Windows11のExplorerでファイル操作が徐々に遅くなる問題を解決できた

Windows PCとは総じて、起動直後は調子がよく、しばらく使っているうちにだんだん重くなり、耐えきれなくなったところで再起動する道具である。

もう平成は終わったというのに、いまだにこんなWindows95や98SE現役だった時代と同じことをやっているのだ。こんなことは生産性のドブだ。


しかしこのほど、数年間にわたって悩まされ続けてきたexplorer遅くなる問題を解決できたようなので、一気に令和最新版コンピューティング環境が到来した感がある。そこでここまで採った対策と失敗の履歴を備忘録として書いておくことにする。

(※時間のない人は「効果のあった対策」節まで読み飛ばすのがオススメです)

関連:https://kirmav.blogspot.com/2023/02/blog-post_10.html


どんな問題が起こっていたか

どうも検索する限り、同様の悩みを持つ人はあまり存在していない種別の不具合のようだ。しかし自分の環境では完全な再現性があった。

以下にその特徴を記す:

  • explorerでのファイル操作が次第しだいに遅くなる不具合である
    • ファイルのコピー、移動、新規作成など全てが遅い
    • 移動やコピーそのものに時間がかかるというよりは、それらが完了したあとの表示更新に時間がかかっているような感覚
    • explorerの窓が操作できずフリーズしたような状態で数秒間固まる
    • 操作するファイルの数やサイズには影響されず、0バイトのファイル1つを同一ドライブ内別フォルダに移動するだけでも遅い
    • 遅いだけでファイル操作そのものは正常に完了するし、対象ファイルが破損するということもない
    • 遅いのはexplorerなので、たとえばcmd.exeでcopyやmoveする分には期待通りの速度が出る
    • 同時に開いているexplorerの窓数が多いほど、フリーズの程度が酷くなる
  • 最初から遅いわけではない
    • OSの起動直後は遅くないが、しばらく使っていて気づくと遅くなっている
    • あるタイミングでいきなり遅くなる認識はない
      • 使っている間は常時気づかない程度にゆっくりとパフォーマンスが劣化しているものと思われる
    • OS再起動ないしexplorer.exeの再起動で問題は解消する
      • そのまましばらく使っていると元通り遅くなってくる
  • explorerのフリーズ中もリソースには空きがある
    • メモリは常時半分程度は空いている
    • CPUは使用率10%台
    • グラボはファン停止レベルの負荷
    • 症状発生中でも他のアプリは普通に動作するし、ベンチ結果も正常時と同程度の値を出す
  • ハードウェアの問題ではない
    • i7 12700 / 96GiB / 4070Ti / フルSSDの構成に、Win11 Homeをクリーンインストールし22H2までアップデート
    • 4台あるSSDのうちキャッシュ用を除く3台は各500GiBの空き領域がある
    • プチフリが発生するような古いSSDは使っていない
    • CrystalDiskMarkの結果でも期待通りの速度が出ている
    • RAIDは組んでない
    • 本不具合を除けば常時十分に安定稼働している
    • 1週間くらい再起動せずスリープだけで毎日運用でき、OSアプリともども不安定化しない
    • UEFIやドライバ類は基本的には最新かそれに近いものを当てている
    • Memtest複数回完走確認済み
    • 本体ケース内のホコリ掃除もされている
  • 何かしらの再現性がある
    • 前のPCの時代にも同様の不具合に遭遇しており、あれこれ調査したが解決できなかった経緯がある
    • 前PCは7年くらい使っていた(i7 6700 / 48GiB / 1060 / フルSSD / Win10)
    • 今のPCを組んだのは2022年5月で、前PCからの不具合を払拭すべく、OSアップデートではなくクリーンインストールを選択した
    • しかし結局同様の不具合が再現してしまった


これまでに試みてダメだった対策

「windows11 重くなる」「ファイル操作 プチフリ」「explorer slows down gradually」などと検索して出てきた解決策は一通り試したが、改善しなかった。

その一部を示す:

  • ゴミファイルを消す(ディスククリーンアップとかで)
  • ウイルスチェックする
  • ウイルス対策を一次停止する(ちなみにWindowsDefenderしか入れてない)
  • 使っていないサービスを止める
  • キーボードとモニタ1枚を除くあらゆる周辺機器を取り外す
  • モニタの表示解像度を落とす
  • あらゆるアニメーションを無効にする
  • 常駐アプリを全部止める
  • DropboxやOneDriveやGoogleDriveの同期も全部止める
  • WindowsUpdateする、もしくは「更新の一時停止」をする
  • 有線LANを抜いてWifiで繋いでみる
  • ファイル検索用インデックスを再生成したり、生成そのものを停止させる
  • BagMRUとBagを消す
  • ダウンロード済みのアップデートカタログとかを消す
  • AppDataとかにあるもはや使っていないファイルを消す
  • アイコンキャッシュを消す
  • 過去のminidumpを消す
  • レジストリの不整合エントリを検出して削除などする
  • フォルダオプションのプライバシー下のチェックボックスを入れたり外したり履歴消したりする
  • explorerを含む全アプリのジャンプリストを消す
  • ドライバやUEFIの更新
  • デフラグをかける
  • イベントビュアーでフリーズ時刻にエラーが出ていないか探す
  • イベントビュアーでどんなPCでも常時出ているような警告をとにかく潰しまくる
  • sfc /scannow する
  • DISM /Online /Cleanup-Image /RestoreHealth する

効果はあったが常用できない対策

「タスクマネージャーに出てきたプロセスを順に全部落としてみる」

手順は:

  1. ファイル操作してみて、不具合症状が出ていることを確認する
  2. OSの動作に影響なさそうなプロセスを1つ落とす
  3. またファイル操作して結果を確認

これを繰り返すことで、原因となっているプロセスが何であるか特定できると考えた。

結果であるが、自分でインストールしたソフトや常駐アプリやウイルス対策を全部止め、あらゆる便利系サービスを停止して、さらに何に使うのかもよくわからないプロセスを落として落として、それでも不具合は解消しなかった。

そこでさらにOSの正常動作に必須と思われるプロセスにも手を出した。すると原因が4つ程度のサービスにあるようだと確認できた。確かWindows***みたいな名前をもつサービスたちであった。


これら4つのサービスをすべて落とせばexplorerの重さはその場で解消する。4つのうち1つ起動しても2つ起動しても不具合再現しないことが多いのだが、たいてい3つ目を起動したあたりでいきなり重くなる。しかし3つ目のサービスを再度停止しても重さは解消せず、4つ全てを停止してようやく軽さが戻ってくる。このとき選ぶ3つの組み合わせは一定ではない。

おそらくこれらのサービスに依存ないし連動している別の真の原因があるのではと目されたが、それが何であるかはわからなかった。また、あらゆるプロセスとサービスを落とした状態なので、当然実用の道具として使える状態のPCではない。


原因のプロセスがわかっても、その原因を無効化した状態で正常運用できなければ、道具としてのPCは役に立たない。

同じ理由でセーフモード起動中は問題が発生しないこともわかっていたが、対策として採用することはできなかった。


効果のあった対策

explorerのサイドバーに表示されるオブジェクト数を減らす

特に「ドキュメント」下のフォルダの数を削減した。

ファイル操作時のプチフリ状態を観察していると、サイドバーのフォルダツリーの更新に時間がかかっているような雰囲気があった。なのでここに出てくる物体をできるだけ減らそうと考えた。


効果は…… それなりにあった。ような気がする。

しかし件の重さを完全解消するには至らなかった。


「PC」にあるDLNAメディアサーバーを消す

我が家はPCとの同一ネットワーク内にラズパイがおり、それにはKodiがインストールされている。こいつはDLNAを喋るメディアサーバーなので、ネットワーク内のPCやスマホに動画や音声をストリーミング配信できる。

そのようなメディアサーバーをネットワーク内に検出すると、Windowsは自動でPCの「ネットワークの場所」以下にメディアサーバー項目を追加する(たしか自動だったと思うけど違ったらごめんね)。

前述のサイドバー上オブジェクトを減らす過程で、これもPCから消してみた。やり方は簡単で、「PC」にあるメディアサーバーのアイコンを右クリックして削除を選ぶ。

するとexplorerの重さが劇的に解消した。笑ってしまうくらい劇的な変化だった。

ちなみに消すと言っても、表示上消しただけでネットワーク内には変わらずメディアサーバーが存在し続けている状態である。


その後

上記の対策を採った直後、さらに23H2のアップデートを適用した。

その後は1週間以上にわたってOS・explorer.exeともに再起動せず、スリープだけで運用し続けている。現在のところ快適なパフォーマンスを維持している。


長期運用での確認は23H2になってからなので、上に書いたような対策が奏功したわけではない可能性もある。つまり、単にOSアップデートを通じてプチフリ問題がbug fixされただけなのかもしれない。

ただ細かい原因についてはどうでもよく、前PC時代を含めて数年間に渡る悪戦苦闘の歴史に勝利できたことが大きい。ようやく平成時代なPC体験を終わらせることができた。


追記

さらなるパフォーマンス対策のためさらに項目を消した → Explorerのサイドバー(ナビゲーションウィンドウ)の特殊フォルダを消す方法

コメント