Windows Latestは2026年10月26日(現地時間)、「Everyone says disabling SysMain speeds up Windows 11, so I benchmarked it on two PCs」において、Windows 11の「SysMain」を無効化した場合の性能への影響を検証した結果を公開した。

SysMainは、使用頻度の高いアプリの一部をメモリに事前読み込みし、起動を高速化する機能だ。検証では、メモリ容量が16GBのPCで機能の停止前後における起動時間にほぼ差がなかった。一方、メモリ4GBの検証用環境では機能の無効化によってOSの起動時間が短くなったものの、動画編集アプリのClipchampは起動に倍以上の時間を要することが確認された。

  • Windows 11のタスクマネージャーに表示された『サービスホスト: SysMain』

    Windows 11のタスクマネージャーに表示された『サービスホスト: SysMain』

Windows 11の「SysMain」とは? アプリの起動を高速化する仕組み

SysMainは、以前「Superfetch」と呼ばれていたWindowsサービスの1つだ。サービス管理画面には、「長期間にわたり、システムパフォーマンスの維持および向上を図ります」と記載されている。タスクマネージャーのプロセス一覧には「サービスホスト: SysMain」と表示され、起動直後にCPUやディスクを使用することからサービスの停止を考える利用者もいる。

MicrosoftのMark Russinovich氏は2008年、このサービスは空きメモリが生じた際に、データやコードをプリロードすると説明した。このプリロードに必要なメモリ使用状況に関する追跡情報は、Prefetchフォルダーに拡張子「.db」として保存される。

SysMainがサポートする実際の動作は複数あり、コンピューターの休止状態時における使用予測データの退避と復元なども含まれる。これら起動中ではない状況は本稿主旨とは異なるため、ここでは割愛する。

システム起動中の主な動作としては、2つの仕組みが解説されている。1つはメモリマネージャーに対する事前読み込みの指示で、過去のメモリ使用情報を元に、ディスク上のファイルやページングファイルからスタンバイリストへデータやコードをロードさせる。

もう1つは、最近メモリから追放されたデータやコードの再ロードとされる。ユーザーがPCから離れ、一定時間操作が行われないと、Windowsはさまざまなバックグラウンドタスクを起動する。このタスクによってメモリが大量に消費された場合、直前までアクティブだったデータはメモリから追い出されることになる。

ユーザーが外出先から戻ると、これら追い出されたデータはすぐに再利用することが想定される。そこでSysMainはバックグラウンドタスクの終了後に空きメモリが増えると、その空き領域を使用して追い出されたデータのプリロードを行い、操作への影響を軽減する。

実際にプリロードされたデータのサイズは、タスクマネージャー上の「キャッシュ済み」領域として確認可能だ。プリロードしたデータが使用されず、他のアプリにメモリを要求されると、Windowsはキャッシュ領域を解放する。なお、プリロード処理は「非常に低い優先度」のI/O処理として実行されるため、ユーザー操作やアクティブプロセスにはほぼ影響しないという。

SysMainを無効化するとどうなる? 16GBと4GBの環境で比較

Windows Latestの記者は、Windows 11を搭載したメモリ16GBの一般的なPCと、4GBの仮想マシン環境でSysMainの有効時と無効時を比較した実験結果を公開した。この実験では、PCの再起動にかかる時間と、動画編集アプリ「Clipchamp」の起動にかかる時間が比較された。

記者によると16GBのPCでは、SysMainの有効無効でPCの再起動時間およびアプリの起動時間に目立った変化は見られなかった。一方、4GBの仮想マシンでは、有効時の再起動に42.83秒かかっていたが、停止後は35.18秒に短縮した。しかし、Clipchampの起動時間は有効時の3.14秒から、停止後には8.48秒へ延びた。

この結果は、前述したSysMainの仕組みと整合するものだ。SysMainを有効にすると、過去のメモリ使用状況に基づいてデータやコードのプリロードが行われる。無効化するとプリロードが行われなくなるため、アプリの起動時間が延びた可能性がある。一方、OSの起動時間が短縮した要因については、今回の検証結果だけでは断定できない。

16GBのPCで差が見られなかったのは、ストレージにSSD(NVMe)を搭載していた影響が大きい。ストレージの読み込み速度が十分に早い場合、プリロードのデータ、アプリの読み込み共に瞬間的に完了することになる。プリロードは読み込み速度の遅さを改善する機能のため、遅延がなければ差は生まれにくい。

SSD搭載PCでもSysMainは必要? 無効化を検討すべきケース

Microsoftは2009年、ランダム読み取り性能に優れたSSDを搭載するWindows 7ではSuperfetch(SysMain)を停止すると説明した。Superfetchなどの機能は、ハードディスクの性能を改善する目的で設計されたためだ。

XDAの検証でも、メモリ64GB、NVMeストレージ、Ryzen 7 7800X3Dを搭載するPCでは差がほとんど確認されなかった。一部のメモリ容量の少ない古いPCでは起動直後の動作が改善した例がある一方、NVMe搭載機の利用者からは、有効・無効で性能差を感じなかったとの報告がある。

記者は今回の実験結果および過去の報告から、ストレージにSSD(NVMe)を搭載した機種ではSysMainの設定を変更する必要はないと説明した。ただし、システムの起動後、長時間の読み込みが続くようであれば無効の選択も有り得るとしている。

具体的にはタスクマネージャーから「サービスホスト: SysMain」の負荷を確認し、起動から10分以上たっても使用率が高い場合に調査するよう勧めている。サービス管理画面から一時停止し、1日使って変化を確かめる。停止による改善と再開による再発が確認できた場合に限り、スタートアップの種類を「無効」にする。

SysMainはWindowsの性能を支える機能の1つだ。通常は手動で設定を変更する必要はなく、明確なパフォーマンス低下の原因と確認できた場合に限り、無効化を検討するのがよいだろう。