Windows Superfetch(SysMain)とは?無効にする方法

Superfetch(Windows 10およびWindows 11ではSysMainと呼ばれます)は、アプリケーションの優先順位付けとロードサービスで、Windows Vista以来存在しています。バックグラウンドで静かに動作し、最もよく使うアプリとそのメモリ使用量を評価します。コンピュータを速くするために設計されていますが、SysMainはしばしば不要であり、PCのメモリ使用量を改善するために安全に無効にできます。
目次
- Superfetch(SysMain)とは何か?どのように使われるのか?
- Superfetch(SysMain)が大量のメモリを消費する理由
- タスクマネージャーとファイルエクスプローラーでSysMainを表示する方法
- Superfetch(SysMain)を無効にする方法
- Superfetchを無効にするとどうなるのか?
- SysMainを無効にするとメモリは節約されるのか?
- よくある質問
ヒント:一部のWindowsプロセスはマルウェアに似て見えることがあります。それらの正当性を確認する方法を知っておくことが重要です。
Superfetch(SysMain)とは何か?どのように使われるのか?
Superfetch(SysMain)は、よく使うアプリやプログラムにメモリを割り当てることを主な目的としたWindowsサービスホストプロセス(「svchost.exe」)です。タスクマネージャーの「サービス」タブで見ることができるSysMainの活動は1つだけです。

お気に入りのアプリを素早く起動するために、SysMainは動的リンクライブラリ(DLL)と呼ばれる再利用可能なコードブロックを通じて実行ファイルをロードします。
Superfetch(SysMain)は、計算を高速化するよう設計されており、時間の経過とともにシステムパフォーマンスを維持・向上させます。また、全体的な起動時間を短縮します。PCを起動するたびに、必要なアプリがコンピュータの未使用メモリを利用して前もってロードされます。
Superfetch(SysMain)が大量のメモリを消費する理由
Superfetch(SysMain)の目的は、頻繁に使用するプログラムに優先順位をつけることです。そのため、特にブラウザタブやOfficeプログラムについては、メモリ消費が100%に達する可能性があります。なぜなら、どれだけのメモリが必要か本当にわからないため、追加のキャッシュデータが事前に割り当てられるからです。
Superfetchは便利な機能ですが、バックグラウンドでコンピュータに負荷をかけ、RAMとCPUの使用量が増加します。時間が経つにつれて、未使用のメモリは増え続け、最終的には多くの余分なスペースを消費することになります。これは、RAM容量が非常に低い(約4GB以下)Windowsシステムに一般的に影響します。
タスクマネージャーとファイルエクスプローラーでSysMainを表示する方法
SysMainはWindowsサービスホストプロセス(「svchost.exe」)を中心にしていますので、タスクマネージャーでアクセスする方法を知っておくことが重要です。
タスクマネージャーには「svchost.exe」と名づけられた他のプロセスが多数存在しますが、これらはSysMainとは無関係です。誤って間違った「svchost.exe」タスクを終了させたくありません。以下の手順を実行することで、SysMainサービスに焦点を当てることができます。
- Ctrl + Shift + Escを使用してWindowsタスクマネージャーを開き、「サービス」タブに移動します。
- SysMainプログラムを特定し、右クリックして「詳細へ移動」を選択します。

- SysMainに関連する「svchost.exe」タスクが他の多くのタスクの中で強調表示されます。
- 強調表示された「svchost.exe」タスクを右クリックして「サービスに移動」を選択します。これにより、間違ったプロセスを終了させていないかを再確認できます。必ず正しい「svchost.exe」プロセスを右クリックしていることを確認することが非常に重要です。

- 「詳細」ウィンドウで、強調表示された「svchost.exe」タスクを右クリックし、「ファイルの場所を開く」をクリックします。

- SysMainに関連する正確な「svchost.exe」がファイルエクスプローラーウィンドウで強調表示されます。
- それを右クリックして「プロパティ」を表示します。

- SysMainの正確なホストプロセスが見え、そのファイルサイズやその他のプロパティ(データ共有など)を見ることができます。

ヒント:時には、Windowsタスクマネージャーの問題がメモリによるものではなく、高CPU消費によることがあります。これを修正するためにできることは以下です。
Superfetch(SysMain)を無効にする方法
Superfetch(SysMain)はいくつかのプログラムを素早くロードするために確かに役立ちます。しかし、新しいWindows PCを使用している場合、それは冗長かもしれません。SysMainを完全に無効にする方が効率的に思えるかもしれません。これは必須サービスではないため、いつでも無効にすることができます。以下にその方法が4つあります。
1. Windowsタスクマネージャーのサービスを使用
Windowsタスクマネージャーは、SysMainの標準的な実装と「svchost.exe」プログラムです。
- タスクマネージャーの「サービス」タブに移動します。
- SysMainタスクを特定し、右クリックして「サービスを開く」を選択します。

- SysMainサービスを見つけ、右クリックしてそのプロパティを開きます。実行中で、スタートアップタイプが「自動」に設定されている場合、ここから簡単に停止できます。

- ポップアップウィンドウで、「一般」タブの「スタートアップの種類」オプションが表示されます。クリックして追加オプションを表示します。

- スタートアップタイプを「無効」に選択し、変更を適用して「OK」をクリックします。

- 変更が適用されるためにコンピュータを再起動します。
知っておくと良い情報:レジストリをデフラグすると、Windows PCにどのような利点がありますか?こちらで確認できます。
2. レジストリエディタを使用
Superfetch(SysMain)機能を無効にするより恒久的な方法は、レジストリエディタでその「Start」値を編集することです。
- 何か問題が発生した場合に備え、復元ポイントを作成します。
- Windows検索バーに「復元ポイントを作成」と入力し、下に表示される「ベストマッチ」を選択します。

- システムプロパティウィンドウが起動したら、「システム保護」タブに移動します。ウィンドウの下部にある「作成」ボタンをクリックします。

- 復元ポイントに名前を付け、後で役立つ識別情報を追加します。現在の日付と時刻は自動的に追加されます。

- 復元ポイントが正常に作成され、以下のようにレジストリ値を自由に編集できます。

- Windowsの実行コマンドを使用してWin + Rを押し、
regeditと入力してレジストリエディタを開きます。デフォルトで管理者モードで起動します。

- レジストリエディタで次のパスに移動します:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysMain.- 右パネルの「Start」エントリをダブルクリックするか、右クリックして修正します。

- 「Start」エントリの値データを「4」に設定します。

- 変更を適用するためにPCを再起動します。
3. PowerShellを使用
PowerShellウィンドウはSysMainアクティビティを無効または有効にするための最も迅速な方法の1つです。
- 実行コマンドからWin + Rを使用してPowerShellウィンドウを開き、「powershell」と入力します。
- エンターまたは「OK」を押す代わりに、Ctrl + Shift + Enterをキーボードで押します。これにより、PowerShellが管理者モードで起動します。

- SysMainを無効にしたり有効にしたりするために以下のコマンドを入力します。次のウィンドウには両方のコマンドが一緒に表示されていますが、一度に1つを使用する必要があります。
Stop-Service -Force -Name "SysMain"; Set-Service -Name "SysMain" -StartupType Disabled
Set-Service -Name "SysMain" -StartupType Automatic -Status Running
- PowerShellで
exitと入力してウィンドウを閉じます。変更を適用するためにPCを再起動します。
4. コマンドプロンプトを使用
PowerShellと同様に、WindowsコマンドプロンプトはSysMainを即座に無効または有効にするための従来の方法です。
- 実行コマンドでWin + Rを使用してコマンドプロンプトウィンドウを開き、「cmd」と入力します。
- エンターまたは「OK」を押す代わりにCtrl + Shift + Enterをキーボードで押します。これにより、コマンドプロンプトが管理者モードで起動します。

- コンピュータ上のSysMainをブロックするため、または再度有効にするために、必要に応じて以下のコマンドを入力します。
sc stop "SysMain" & sc config "SysMain" start=disabled
sc config "SysMain" start=auto & sc start "SysMain"
- コマンドプロンプトで
exitをタイプして終了し、その後デバイスを再起動します。
ヒント:Windows Terminalのカスタマイズ方法について学びましょう。
Superfetchを無効にするとどうなるのか?
Superfetchを無効にし、必ずPCを再起動した後、WindowsタスクマネージャーのプロセスにはSysMainタスクがもはや表示されなくなります。また、「サービス」タブに移動すると、SysMainの状態が変更されたことがわかります。以前は「実行中」で、今は「停止」と表示されるはずです。

「サービス」タブでSysMainタスクを右クリックすると、「詳細へ移動」のオプションがグレーアウトして無効になります。

SysMainを無効にするとメモリは節約されるのか?
客観的な評価は不可能ですが、以下の実験を試みました。まず、Superfetch(SysMain)が自動的に実行されている際のタスクマネージャーのメモリパフォーマンスを観察しました。複数のブラウザタブおよび他のアプリケーションがアクティブ(約15個)でした。メモリ消費は、12GBのRAMを搭載したデバイスで55%に達しました。

その後、SysMainを停止した後、同じブラウザウィンドウとアプリケーションセットを開いておきました。再び、メモリパフォーマンスを評価しました。メモリ使用量が55%から45%に大幅に減少しました。

SysMainを無効にすることは、デバイスに搭載されているRAMの量に応じて、RAMパフォーマンスに影響を与える場合もあれば、与えない場合もあります。特に、SSDデバイスの場合、HDDに比べて影響はそれほど大きくはありませんが、依然として気づかれることはあります。
知っておくと良い情報:バックアップが必要ですか?こちらがSSDをクローンするための優れたツールです。
よくある質問
Superfetchを無効にすることにデメリットはありますか?
Superfetch(SysMain)は必須のWindowsサービスではありませんが、無効にすることで起動時間やアプリケーション起動時間がわずかに増加する可能性があります。この遅延はSSDデバイスではあまり気になりません。ただし、Windowsシステムには安全です。長期的なパフォーマンス問題はありません。
Superfetchによる100%のディスク使用量の問題をどう修正しますか?
Superfetch(SysMain)サービスが原因でディスク使用量が100%に達している場合、いくつかのプログラムがスパイクを引き起こしている可能性があります。最も一般的なプログラムの1つはWindows Updateサービスです。
各アップデート後、問題が再発することに気付くかもしれません。これを解決するには、「システム -> トラブルシューティング -> 他のトラブルシューティング」からWindows Updateトラブルシューティングを実行します。
マルウェアのチェックやWindowsユーティリティを使用したディスククリーニングなど、他のテクニックもあります。
仮想RAMを増やすにはどうすればよいですか?
仮想RAMを増やすことは、Windowsデバイスのメモリブーストを得る確実な方法です。これを行うための2つの確かな方法があります:レジストリハックとサードパーティツール、およびRAMディスクの使用です。これらの方法は、Superfetchのようなメモリ消費型プログラムの影響を軽減します。
画像のクレジット: Unsplash。すべてのスクリーンショットはSayak Boralによるものです。