# SysMain 是什麼，Windows 上要不要停用

SysMain 是 Windows 的服務，以前叫 Superfetch。它會觀察你用哪些程式，並把那些程式需要的東西先放進記憶體備用，讓它們開得更快。在工作管理員裡它顯示為 **服務主機: SysMain**。登入後短暫的磁碟或 CPU 使用是正常的。如果長時間一直很高，可以把它停掉來測試，在有高速 SSD 的電腦上你可能感覺不到差別，但這是一個該先做的測試，不是能讓每台電腦變快的調整。

## 它是什麼

這個服務在 `svchost.exe` 裡執行。在一台裝 Windows 11 的測試用 ThinkPad 上，它長這樣：

```text
Name: SysMain   Status: Running   StartType: Automatic
Path: C:\Windows\system32\svchost.exe -k LocalSystemNetworkRestricted -p
```

Microsoft 的 [Windows Server 2016 服務指南](https://learn.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server)以 Superfetch 的名稱列出它，說明是 "Maintains and improves system performance over time"，也就是長期維持並改善系統效能，建議則是 "No guidance"，沒有建議。所以這份指南既沒有要你停用它，也沒有警告別停用，對常見的「一定要關掉」的說法並不支持。

## 確認它是不是真的原因

1. 用 `Ctrl + Shift + Esc` 打開工作管理員，切到 **處理程序**，依 **磁碟** 排序。
2. 展開 **服務主機: SysMain**，或用 PowerShell 查它：

```powershell
Get-Service SysMain | Select-Object Status, StartType
Get-Process -Id (Get-CimInstance Win32_Service -Filter "Name='SysMain'").ProcessId | Select-Object Id, CPU, WorkingSet64
```

3. 開機後或大型更新之後，給它十到十五分鐘，這時候出現這類工作是正常的。
4. 注意還有什麼也很忙。在快滿的磁碟或老舊的硬碟上，很多東西看起來都像是 SysMain 的錯，見[磁碟使用率 100%](/tw/windows/blog/windows-disk-100-percent)。

| 你看到的 | 通常代表 | 可以試 |
| --- | --- | --- |
| 登入後忙了幾分鐘 | 正常的準備工作 | 等一下 |
| 硬碟上磁碟長時間 100% | 磁碟跟不上 | 停掉服務測試，並考慮換 SSD |
| SSD 上整天都很忙 | 不尋常，可能是別的原因 | 重新啟動、安裝更新，再測試 |
| 記憶體顯示為 **快取** | 正常使用閒置記憶體 | 不用處理，需要時 Windows 會釋放 |
| 遊戲或影片工作卡頓 | 可能是別的原因 | 停掉服務測試幾天 |

## 怎麼停掉，怎麼還原

先停掉服務，但不要改啟動類型。重新啟動後它會回來，所以這是安全的測試。以系統管理員身分執行 PowerShell：

```powershell
Stop-Service SysMain
```

如果明顯有幫助，再讓它在重新啟動後也維持關閉：

```powershell
Set-Service SysMain -StartupType Disabled
Stop-Service SysMain
```

要還原：

```powershell
Set-Service SysMain -StartupType Automatic
Start-Service SysMain
```

你也可以在 `services.msc` 裡做，它在那裡列為 **SysMain**。用這台電腦幾天，如果 App 開得比較慢，或磁碟沒有比較安靜，就把它重新打開。

## 不要這樣做

- 不要因為某份調整清單這樣寫就停用它。沒有量到實際的症狀，你就無從知道有沒有幫助。
- 不要把停用它當成記憶體不足的解法。快取的記憶體在有東西需要時會還給系統，見[記憶體使用率過高](/tw/windows/blog/windows-high-memory-usage)。
- 不要順便刪掉 `C:\Windows\Prefetch`。Windows 會重建它，在重建完之前，接下來幾次啟動都會比較慢。
- 不要把看到的每個 **服務主機** 都停掉。每一個承載的服務不同，有些負責維持網路和聲音。

## 它是病毒嗎

SysMain 是 Windows 服務，不是獨立的程式，它在 `C:\Windows\System32` 裡真正的 `svchost.exe` 內執行。從其他資料夾執行的 `svchost.exe`，或拼法相似的檔案，值得用 Microsoft Defender 掃描。

## Mole 能幫上什麼

Mole for Windows 的「狀態」頁會把工作階段 0 裡的服務主機合併成一列。這一列選單裡的「為什麼在執行？」會依最忙的副本優先，列出前兩個服務的名稱，並把其餘的算成數量，所以 SysMain 可能藏在那個數量裡。它也會列出最吃資源的副本，點一個就能看到那個副本的服務。單一個很忙的服務不會被單獨分出來，所以要看 SysMain 自己的數字，請用工作管理員。Mole 把服務主機標為系統，不提供「結束」或「強制結束」。它的啟動項目清單不含由 Windows 資料夾承載的服務，所以 SysMain 不會出現在那裡，Mole 也沒有針對它的開關。想了解更多背景，見[常見 Windows 處理程序在做什麼](/tw/windows/blog/windows-processes-explained)。

## 常見問題

### SysMain 是什麼？

它是以前叫 Superfetch 的 Windows 服務。它把你常用程式的資料放在記憶體裡備用，讓它們開得更快。

### 停用 SysMain 安全嗎？

可以，隨時都能重新打開，Windows 也會繼續正常運作。App 可能開得稍微慢一點，尤其是在硬碟上，所以停用前後都要量一下。

### 服務主機: SysMain 為什麼占這麼多磁碟？

開機後短暫使用是預期中的。長時間 100% 最常出現在硬碟或快滿的磁碟上，在那裡任何東西看起來都會慢。

### SSD 上要停用 SysMain 嗎？

只有在你量得到問題時才要。沒有官方建議在 SSD 上停用它，狀態良好的 SSD 也很少因它出問題。

### SysMain 和 Superfetch 是同一個嗎？

是。比較舊的教學用的是 Superfetch 這個名稱，Windows 現在把這個服務列為 SysMain。


Canonical: https://mole.fit/tw/windows/blog/sysmain-high-disk-windows
