Windows Vista以降のWindowsに搭載されているSuperfetchサービス。PCの動作を改善してくれるサービスではありますが、PCの環境によっては、逆に動作を遅くしてしまうケースもあります。
現在のバージョンのWindows10では、「Superfetch」ではなく「SysMain」という名前のサービスに置き換わっています。
今回は、Windows10でSysMainサービスの無効/有効にする方法について紹介します。
この記事の内容
SysMain(旧:Superfetch)サービスとは
SysMainサービスは、PCの空きメモリを有効活用してWindows上のアプリケーションの起動などの動作を高速化するための機能です。
SysMainサービスは、従来のハードディスク向けにパソコンのパフォーマンスを改善するために設計されました。
使用しそうなアプリケーションをあらかじめ余計にメモリに読み込んでおくため、通常のハードディスクの環境下でもアプリケーションの起動速度などが速くなります。
SysMainサービスの必要性
パソコンのパフォーマンス改善のためのSysMainサービスですが、現在は必ずしも有効にしておく必要はありません。
理由としては、現在では読み込み速度の早いSSDが普及しており、SysMainサービスを利用する恩恵が少なくなってきているためです。
逆に機能が有効になっていると、PCの物理メモリを通常よりも多く使用するため、動作が遅くなるケースもあります。
SSD搭載のPCをお使いの場合は、機能の停止を試すとパフォーマンスが改善する場合があります。(*従来のハードディスクの場合は、有効を推奨します。)
SysMainサービスを停止/有効にする手順
Windows10でSysMainサービスの停止/有効を変更するには、次の手順で操作します。
*SysMainサービスの無効は、Microsoftが推奨している方法ではないので予めご了承下さい。
方法1: サービスウィンドウで無効/有効にする
- スタートをクリックして「サービス」と入力て、検索候補に出てきた「サービス - アプリ」をクリックします。
- サービスの一覧の「名前」の項目をクリックしてサービスを並び替えます。
- 「SysMain」を右クリックして「プロパティ」を選択します。
- サービスを一時的に無効/有効にしたい場合は、右クリック→「停止/開始」を選択して下さい。以降の手順は不要です。
- サービスを一時的に無効/有効にしたい場合は、右クリック→「停止/開始」を選択して下さい。以降の手順は不要です。
- スタートアップの種類を「無効/自動」に変更して「OK」をクリックします。
- Windowsを再起動します。
Windowsが再起動するとSysMainサービスが無効、もしくは有効になります。
サービスを無効にした場合は、念の為アプリケーションなどを操作して、動作に問題がないか確認しておくことをおすすめします。
Windowsやアプリケーションの動作がおかしい場合は、再度有効に戻しましょう。
方法2: PowerShellで無効/有効にする
SysMainのプロセスは、PowerShellでコマンドを実行して無効/有効にすることもできます。PowerShellを使用する場合は、以下の手順で操作します。
- 「Windowsマーク」を右クリックして「Windows PowerShell(管理者)」を開きます。
- ユーザーアカウント制御が表示された場合、「はい」を選択します。
- 次のコマンドを入力してEnterキーを押します。
- 停止する場合:
Stop-Service -Force -Name "SysMain"; Set-Service -Name "SysMain" -StartupType
- 有効にする場合:
Set-Service -Name "SysMain" -StartupType Automatic -Status Running
- 停止する場合:
方法3: コマンドプロンプトで無効/有効にする
コマンドプロンプトからSysMainのプロセスを無効/有効にするには、次の手順で操作します。
- 「Windowsマーク」をクリックして「cmd」と入力します。
- 検索結果から「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。
- ユーザーアカウント制御が表示された場合、「はい」を選択します。
- 次のコマンドを入力してEnterキーを押します。
- 無効にする場合:
sc stop "SysMain" & sc config "SysMain" start=disabled
- 有効にする場合:
sc config "SysMain" start=auto & sc start "SysMain"
- 無効にする場合:
方法4: レジストリを編集して無効/有効にする
レジストリの値を編集してSysMainのプロセスを無効/有効にすることもできます。
ただし、レジストリ編集は操作を誤ると別のシステムトラブルを引き起こす原因になります。そのため、操作を行う前に事前にレジストリのバックアップと復元ポイントを作成することをおすすめします。
レジストリを編集してSysMainを無効/有効にするには、以下の手順で操作します。
- 「Windowsマーク」を右クリックし、「ファイル名を指定して実行」を選択します。
- 「名前」欄に「regedit」と入力してから「OK」をクリックします。
- レジストリエディターが開きます。ウィンドウ左側にあるツリーを展開して、以下のキーにアクセスします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
- 「PrefetchParameters」キーを選択した状態で、ウィンドウ右側で「EnablePrefetcher」の値をダブルクリックします。
- 「DWORD(32ビット)値の編集」ウィンドウが表示されます。「値のデータ」を変更して「OK」をクリックして設定を保存します。
- 以下のオプションを値で設定することができます。
- 0 : プリフェッチを完全に無効にする
- 1 : プログラムの起動時にプリフェッチを有効にする
- 2 : PC起動時にプリフェッチを有効にする
- 3 : 全てのプリフェッチを有効にする
- 無効にする場合は「0」、有効にする場合は「3」を入力してください。
- 以下のオプションを値で設定することができます。
- レジストリエディターを終了して、パソコンを再起動します。
PCが再起動したら、SysMainのプロセスが起動/停止していることを確認してください。
レジストリの編集によって万が一トラブルが起きてしまった場合は、バックアップしたレジストリファイルをダブルクリックして復元してください。