Windows
 Computer >> コンピューター >  >> システム >> Windows

Windows 11/10でSSDのSysMainとプリフェッチを有効・無効にする方法

この記事では、Windows 11/10/8/7がソリッドステートドライブ(SSD)上で「プリフェッチ(Prefetch)」と「SysMain」をどのように扱うかについて解説します。なお、冒頭で一点だけ明確にしておきたいのですが、SysMain(旧称:SuperFetch)やプリフェッチを無効化することは、システムパフォーマンスの低下につながる可能性があるため、基本的には推奨されません。これらのサービスはデフォルト設定のままにしておくのが最善です。

SysMain(SuperFetch)、プリフェッチとSSDの関係

PC上でアプリケーションを実行するたびに、Windows OSはそのアプリが読み込んだファイルに関する情報を含むプリフェッチファイルを作成します。このプリフェッチファイル内の情報は、次回同じアプリを起動するときの読み込み時間を最適化するために使われます。

一方、SysMainはユーザーが次に起動しそうなアプリケーションを予測し、必要なデータをあらかじめメモリに読み込んでおく機能です。その予測アルゴリズムは非常に優れており、時間帯ごとの使用パターンから、次に起動する3つのアプリケーションまで予測できると言われています。

つまり、SysMainとプリフェッチは、従来型のハードディスクドライブ(HDD)上のデータへの高速アクセスを実現するためのWindowsストレージ管理技術です。しかし、SSDでは不要な書き込み操作が発生してしまうという側面があります。

Windows 11/10でSysMainを無効にする方法

SysMainサービスはSuperfetchに関連するサービスで、システムパフォーマンスを維持・向上させる役割を担っています。実体はSystem32フォルダに格納されており、Windows 10以降では表示名が「Superfetch」から「SysMain」に変更されました。何らかの理由で手動で無効化したい場合は、以下の手順に従ってください。

SysMainを無効化する手順

  1. Win + Rキーを押して「ファイル名を指定して実行」を開きます。
  2. services.mscと入力し、Enterキーを押します。
  3. サービス一覧からSysMainを探してダブルクリックします。
  4. プロパティ画面で「停止」ボタンをクリックしてサービスを停止します。
  5. 「スタートアップの種類」のドロップダウンリストから無効を選択します。
  6. 「適用」→「OK」をクリックして完了です。

Windows 11/10でSSDのSysMainとプリフェッチを有効・無効にする方法

設定変更を反映させるには、PCの再起動が必要です。

Windows 11/10でプリフェッチを無効にする方法

プリフェッチを無効にするには、レジストリエディタを使用します。以下の手順に従ってください。

プリフェッチを無効化する手順

  1. Win + Rキーを押して「ファイル名を指定して実行」を開きます。
  2. regeditと入力し、Enterキーを押します。
  3. ユーザーアカウント制御の画面が表示されたら「はい」をクリックします。
  4. HKEY_LOCAL_MACHINE(HKLM)配下のPrefetchParametersキーへ移動します。
  5. EnablePrefetcher(REG_DWORD値)をダブルクリックします。
  6. 値のデータを0に変更します。
  7. 「OK」をクリックしてレジストリエディタを終了します。

移動先のレジストリキーは以下の通りです。

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Windows 11/10でSSDのSysMainとプリフェッチを有効・無効にする方法

右側ペインにあるEnablePrefetcherをダブルクリックすると、DWORD値の編集画面が開きます。

EnablePrefetcherに設定できる値

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

デフォルト値は3です。プリフェッチを無効にしたい場合は0に設定してください。

EnableSuperfetchの設定値

ちなみに、同じ場所にあるEnableSuperfetchのDWORD値を編集することで、SysMain(Superfetch)も調整できます。

  • 0 – SysMainを無効にする
  • 1 – 起動ファイルに対してのみSysMainを有効にする
  • 2 – アプリケーションに対してのみSysMainを有効にする
  • 3 – 起動ファイルとアプリケーションの両方でSysMainを有効にする

また、SSDユーザーの方は、SSDの健康状態をチェックできるフリーソフト「SSD Life」や、SSDの最適化に役立つ「SSD Tweaker」などを活用するのもおすすめです。

Superfetchを無効にするとパフォーマンスは向上する?

SysMain(Superfetch)はそれほどストレージ容量を消費しませんが、不具合が発生した場合にはCPU使用率が高くなる原因となることがあります。そのようなケースでは、このサービスを無効化することでパフォーマンスが改善する可能性があります。ただし、それ以外の場合は、無効化しても体感できるほどの改善は見られないことも多いでしょう。

Superfetchを無効にしても問題ない?

答えは「場合による」と言えます。このサービスが原因でトラブルが発生しているのであれば、無効化は有効な対処法です。一方で、通常の状態であれば、SysMainはWindowsに組み込まれた重要なサービスであり、PCを快適に動作させるために必要な機能です。そのため、明確な問題が発生していない限り、無効化は推奨されません。

この手順が皆さんの問題解決に役立つことを願っています!

  1. Windows 11/10でMicrosoft StoreアプリのSmartScreenフィルターを有効・無効にする方法

    Windows 11/10では、Windowsセキュリティまたはレジストリエディターを使用して、Microsoft Storeアプリ向けのSmartScreenフィルターを有効または無効にすることができます。 SmartScreenは、フィッシングサイトの検出を支援する機能であると同時に、マルウェアなどの悪意のあるソフトウェアのインストールからユーザーを保護する役割も担っています。危険なリンクやアプリを検出すると、SmartScreenが警告を表示してくれます。 これまでにSmartScreenフィルターを完全にオフにする方法をご紹介しましたが、今回はMicrosoft Storeアプリに限定

  2. Windows 11/10でSSDの最適化を有効または無効にする方法

    この記事では、Windows 11/10/8がSSD(ソリッドステートドライブ)に対するデフラグメンテーションをどのように扱っているのかを詳しく解説します。SSDは比較的新しい種類のストレージで、USBメモリなどと同様のフラッシュメモリモジュールのアレイで構成されています。その特性上、SSDにデータを書き込む際には、既存のデータと同じ場所への上書きができず、該当ブロックがガベージコレクションされるまで別の場所に書き込む必要があります。これは、SSDがバイト単位では書き込み可能である一方、消去はブロック単位でしか行えないためです。SSDには、純粋なフラッシュメモリタイプのほか、従来のハードディス