Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

SuperFetchは、Windows Vista以降のOSに組み込まれているMicrosoftの技術です。主な目的は2つあり、1つ目はPCの起動にかかる時間を短縮すること、2つ目は頻繁に使用するアプリケーションをより効率的に読み込めるようにすることです。さらに、使用した時間帯まで考慮しながらユーザーの利用パターンを分析し、自動的に最適化を行います。

SuperFetchは、単に使用頻度だけでなく「いつ」アプリを使うかという情報も踏まえて、よく使うアプリケーションをあらかじめメインメモリに読み込んでおきます。例えば、毎朝決まったルーティン(Chrome、天気アプリ、ニュースアプリなど)がある場合、SuperFetchは毎朝これらのアプリを事前にメモリへロードします。夜の使い方が朝と異なれば、夜向けに別の読み込みパターンを学習します。

しかし、この便利な機能にも問題点があります。SuperFetchが大量のリソース(ディスク/CPU)を消費すると、PC全体の動作が遅くなり、操作に遅延が発生することがあります。ディスク使用率が高くなる原因は複数考えられますが、本記事ではSuperFetchを無効化して問題が解消されるかどうかを確認する手順に焦点を当てて解説します。

SuperFetchを無効化する手順

サービスからSuperFetchを無効化する前に、まずお使いのハードドライブに対するMSISupportedのレジストリ値を変更する必要があります。この変更で問題が解決しなかった場合は、いつでも元に戻すことが可能です。

ステップ1:AHCIコントローラーの確認

  1. Windows + Rキーを押して「ファイル名を指定して実行」を開き、「devmgmt.msc」と入力してEnterキーを押します。デバイスマネージャーが起動します。
  2. デバイスマネージャーで「IDE ATA/ATAPI コントローラー」のカテゴリを展開します。「標準 SATA AHCI コントローラー」という項目が表示されるので、右クリックして「プロパティ」を選択します。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

  1. ドライバー」タブに移動し、「ドライバーの詳細」をクリックします。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

  1. System32フォルダ内のパスに「storahci.sys」が表示されていれば、お使いのPCが受信トレイ(標準)ドライバーを使用していることが確認できます。次のステップへ進みましょう。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

ステップ2:デバイスインスタンスパスの取得

  1. ドライバーファイルの詳細画面を閉じて、「詳細」タブに移動します。ドロップダウンメニューから「デバイス インスタンス パス」を選択します。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

  1. 表示された値を右クリックして「コピー」を選択します。アクセスしやすい場所にメモ帳などへ保存しておきましょう。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

ステップ3:レジストリエディターでのMSISupported変更

  1. Windows + Rキーを押して「ファイル名を指定して実行」を開き、「regedit」と入力します。レジストリエディターが起動します。

レジストリ編集に関する注意:すべての変更は自己責任で行ってください。内容を理解していないレジストリ値は絶対に変更しないでください。誤った編集によってシステムに不具合が生じた場合、当方は一切の責任を負いかねます。

  1. レジストリエディターで、以下のパスへ移動します。

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<AHCI コントローラー>\<ランダムな数値>\Device Parameters\Interrupt Management\MessageSignaledInterruptProperties

ここで<AHCI コントローラー>の部分には先ほどメモ帳に保存した文字列を、<ランダムな数値>の部分にはPCごとに異なる数値が該当します。

  1. MSISupported」キーをダブルクリックし、値を「1」から「0」に変更します。「OK」を押して変更を保存し、PCを再起動してください。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

ステップ4:サービスからSuperFetchを無効化

  1. Windows + Rキーを押して「ファイル名を指定して実行」を開き、「services.msc」と入力します。PC上のすべてのサービス一覧が表示されます。
  2. サービス一覧から「Superfetch」を探し、ダブルクリックしてプロパティを開きます。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

  1. プロパティ画面が開いたら、「サービスの状態」の下にある「停止」ボタンをクリックします。続いて「スタートアップの種類」をクリックし、選択肢の中から「無効」を選びます。「OK」を押して変更を保存し、PCを再起動してください。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

ステップ5:EnablePrefetcherの値を変更

  1. Windows + Rキーを押し、「regedit」と入力してEnterキーを押します。レジストリエディターが起動します。
  2. レジストリエディターで、以下のパスへ移動します。

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

  1. 右側のペインに「EnablePrefetcher」というキーがあります。ダブルクリックしてプロパティを開き、値を「3」から「0」に変更します。「OK」を押して変更を保存し、レジストリエディターを終了します。その後PCを再起動し、問題が解決したかどうかを確認してください。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

EnablePrefetcherに設定できる値は以下の通りです。

  • 0 – プリフェッチを無効化
  • 1 – アプリケーション起動時のプリフェッチのみ有効
  • 2 – ブート(起動)時のプリフェッチのみ有効
  • 3 – アプリケーション起動時とブート時の両方のプリフェッチを有効

また、ついでに先ほど変更したキーのすぐ下にあるEnableSuperfetchの値も変更しておくことをおすすめします。

EnableSuperfetchに設定できる値は以下の通りです。

  • 0 – SuperFetchを無効化
  • 1 – ブートファイルのみSuperFetchを有効化
  • 2 – アプリケーションのみSuperFetchを有効化
  • 3 – ブートファイルとアプリケーションの両方でSuperFetchを有効化

問題が解決するかどうかを確認するためには、値を「0」に設定してSuperFetchを完全に無効化することをおすすめします。

【解決策】SuperFetchによるディスク/CPU使用率の異常な上昇を修正する方法

  1. Windows 10でWSAPPXのディスク・CPU使用率が高くなる問題を解決する4つの方法

    WSAPPXは、MicrosoftがWindows 8および10において不可欠なプロセスとして位置付けているものです。実際、WSAPPXプロセスは指定されたタスクを実行するために、ある程度のシステムリソースを使用する必要があります。しかし、WSAPPXによるディスクやCPU使用率が異常に高くなっている場合や、関連アプリが正常に動作しない場合は、無効化を検討しましょう。このプロセスには2つのサブサービスが含まれています。 AppX Deployment Service(AppXSVC) – アプリのインストール、更新、削除を担当するサービスです。Microsoft Storeを開くと起動されま

  2. Ntoskrnl.exe の高いディスク使用率を修正

    いくつかのプロセスがバックグラウンドで自動的に実行される場合があり、システムの電源を入れるたびにディスク使用率が高くなる問題の原因となります。この場合、システムのパフォーマンスが非常に遅くなり、Ntoskrnl.exe などの隠れたシステム プロセスに悩まされることがあります。 Ntoskrnl.exe は Windows オペレーティング システムの重要なコンポーネントであり、古いドライバー、マルウェア、破損した Ntoskrnl.exe ファイルなどの理由により、この実行可能ファイルは CPU またはディスク リソースを過剰に消費します。同じ問題に直面している場合は、このガイドが解決に役立