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

Superfetchとは何か、無効にする方法

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ユーティリティ

お気に入りのアプリを素早く起動するために、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サービスに焦点を当てることができます。

  1. Ctrl + Shift + Escを使用してWindowsタスクマネージャーを開き、「サービス」タブに移動します。
  2. SysMainプログラムを特定し、右クリックして「詳細へ移動」を選択します。

タスクマネージャーでSysMainの「詳細へ移動」を表示するために右クリック

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

SysMainサービスホストのためにタスクマネージャーでサービスに移動

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

SysMainサービスホストプロセスのためにタスクマネージャーからファイルの場所を開く

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

ファイルエクスプローラーでSysMainのサービスホストとそのプロパティ

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

ファイルエクスプローラー内のSysMain、属性および説明

ヒント:時には、Windowsタスクマネージャーの問題がメモリによるものではなく、高CPU消費によることがあります。これを修正するためにできることは以下です。

Superfetch(SysMain)を無効にする方法

Superfetch(SysMain)はいくつかのプログラムを素早くロードするために確かに役立ちます。しかし、新しいWindows PCを使用している場合、それは冗長かもしれません。SysMainを完全に無効にする方が効率的に思えるかもしれません。これは必須サービスではないため、いつでも無効にすることができます。以下にその方法が4つあります。

1. Windowsタスクマネージャーのサービスを使用

Windowsタスクマネージャーは、SysMainの標準的な実装と「svchost.exe」プログラムです。

  1. タスクマネージャーの「サービス」タブに移動します。
  2. SysMainタスクを特定し、右クリックして「サービスを開く」を選択します。

タスクマネージャーで右クリックしてSysMainサービスを開く

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

Windowsサービスマネージャーウィンドウで実行中のSysMain

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

SysMainサービスプロパティの自動スタートアップ

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

SysMainプロパティのスタートアップタイプを無効にする手順

  1. 変更が適用されるためにコンピュータを再起動します。

知っておくと良い情報:レジストリをデフラグすると、Windows PCにどのような利点がありますか?こちらで確認できます。

2. レジストリエディタを使用

Superfetch(SysMain)機能を無効にするより恒久的な方法は、レジストリエディタでその「Start」値を編集することです。

  1. 何か問題が発生した場合に備え、復元ポイントを作成します。
  2. Windows検索バーに「復元ポイントを作成」と入力し、下に表示される「ベストマッチ」を選択します。

Windows検索メニューで復元ポイントを作成

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

システムプロパティで復元ポイントを作成

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

作成中の復元ポイントに名前を付ける

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

システム復元ポイントが正常に作成された

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

Windowsの実行コマンドでレジストリエディタを開いた

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

レジストリエディタでSysMainのStart値を修正

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

レジストリエディタでSysMainのStart値データを4に設定

  1. 変更を適用するためにPCを再起動します。

3. PowerShellを使用

PowerShellウィンドウはSysMainアクティビティを無効または有効にするための最も迅速な方法の1つです。

  1. 実行コマンドからWin + Rを使用してPowerShellウィンドウを開き、「powershell」と入力します。
  2. エンターまたは「OK」を押す代わりに、Ctrl + Shift + Enterをキーボードで押します。これにより、PowerShellが管理者モードで起動します。

実行コマンドでAdminモードでPowerShellを開く

  1. SysMainを無効にしたり有効にしたりするために以下のコマンドを入力します。次のウィンドウには両方のコマンドが一緒に表示されていますが、一度に1つを使用する必要があります。
Stop-Service -Force -Name "SysMain"; Set-Service -Name "SysMain" -StartupType Disabled  
  
Set-Service -Name "SysMain" -StartupType Automatic -Status Running

PowerShell AdminウィンドウでSuperfetchを無効化および有効化

  1. PowerShellで exit と入力してウィンドウを閉じます。変更を適用するためにPCを再起動します。

4. コマンドプロンプトを使用

PowerShellと同様に、WindowsコマンドプロンプトはSysMainを即座に無効または有効にするための従来の方法です。

  1. 実行コマンドでWin + Rを使用してコマンドプロンプトウィンドウを開き、「cmd」と入力します。
  2. エンターまたは「OK」を押す代わりにCtrl + Shift + Enterをキーボードで押します。これにより、コマンドプロンプトが管理者モードで起動します。

Runを使用してAdminモードでWindows Superfetch Command Promptを開く

  1. コンピュータ上のSysMainをブロックするため、または再度有効にするために、必要に応じて以下のコマンドを入力します。
sc stop "SysMain" & sc config "SysMain" start=disabled  
sc config "SysMain" start=auto & sc start "SysMain"

コマンドプロンプトAdminモードでSysMainが無効化および有効化された

  1. コマンドプロンプトで exit をタイプして終了し、その後デバイスを再起動します。

ヒント:Windows Terminalのカスタマイズ方法について学びましょう。

Superfetchを無効にするとどうなるのか?

Superfetchを無効にし、必ずPCを再起動した後、WindowsタスクマネージャーのプロセスにはSysMainタスクがもはや表示されなくなります。また、「サービス」タブに移動すると、SysMainの状態が変更されたことがわかります。以前は「実行中」で、今は「停止」と表示されるはずです。

タスクマネージャーサービスにおけるSysMainの停止状態

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

SysMainサービスで詳細へ移動オプションが無効

SysMainを無効にするとメモリは節約されるのか?

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

Superfetchが実行されている間のCPUおよびメモリの消費

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

Superfetchが無効になっている間のCPUおよびメモリの消費

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によるものです。