跳到內容

Service Host 與 Windows 11 背景元件

本頁內容

Windows 會依 Service Control Manager 的規則分割或合併 svchost.exe 處理程序。這首先影響故障隔離、服務記憶體用量與處理程序數量。減少處理程序數量本身並不是系統加速。

檢查了 Service Control Manager 如何讀取 SvcHostSplitThresholdInKB 與 Start、存取發生的時機,以及另外觀察到哪些背景元件。

Windows 11 25H2 build 26200.9168;services.exe 與系統 Registry 追蹤。未檢查第三方服務的完整相依性集合。

解析 SCM 的行為、在 boot 追蹤中觀察參數讀取,並檢查個別服務的停用與還原。

Registry path Value Type 預設 25H2 Reader 與 timing
HKLM\SYSTEM\CurrentControlSet\Control SvcHostSplitThresholdInKB REG_DWORD 3670016 KB(研究系統中) services.exe,SCM initialization

此閾值決定服務可被分配到個別處理程序的條件。在研究系統中,預設值 3670016 對應 3.5 GB;其讀取在 services.exe 追蹤中被觀察到。值 0xFFFFFFFF 不一定代表「永不分割」:在 SCM 程式碼中轉換後仍會保留非零狀態。已可靠確認的是 2^22 KB 的倍數值,例如 8388608。

合併可減少處理程序的維護成本,但會降低隔離性:單一處理程序的故障或大量私有工作集記憶體會影響更多服務。分割處理程序數量較多,但其行為與診斷更可預測。手動變更閾值的普遍效益尚未確立。

SCM 會在各服務自己的機碼中讀取 Start 值:

HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName> → Start (REG_DWORD)

主要狀態:

值 意義
0 Boot start,僅適用於 boot 驅動程式與特殊服務
1 System start
2 Automatic start
3 Manual / demand start
4 Disabled

從 2 改為 3 會改變服務的啟動時機,同時保留其功能。當應用程式需要該元件時,存取可能會啟動服務。若服務已停用,存取可能會失敗。

如此可改變個別不需要的背景元件的啟動時機。變更前請先了解該服務的用途並檢查其相依性。

與服務部分相關的設定有「索引」、「SysMain」、「列印服務」、「診斷驅動程式」、UCPD、「服務群組 (svchosts.exe)」及相關的更新選項。只有在功能不需要且相依性已確認時,停用服務才有意義;結果不應推廣到所有背景處理程序。

在研究過的 Windows 11 25H2 中,另外檢查了相關參數:

Path Value Type 預設/狀態
HKCU\Software\Microsoft\Windows\CurrentVersion\Search SearchboxTaskbarMode REG_DWORD 1 — search glyph 已顯示
HKCU\Software\Microsoft\Windows\CurrentVersion\CrossDeviceResume\Configuration IsResumeAllowed REG_DWORD 1 — resume 已允許
同一路徑 IsOneDriveResumeAllowed REG_DWORD 1 — OneDrive resume 已允許
HKCU\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications\MicrosoftWindows.CrossDevice_cw5n1h2txyewy package-specific background permission policy/user setting 取決於 package state

SearchboxTaskbarMode=0 會隱藏工作列上的搜尋圖示。IsResumeAllowed=0 與 IsOneDriveResumeAllowed=0 會禁止對應的跨裝置接續工作方式。若值不存在,CrossDeviceResumeView 會以值 1 建立它們,允許這些功能。這些參數由互動式殼層元件讀取,因此存取可能不會出現在短時間的開機追蹤中。

這些參數會減少所選殼層元件的特定背景活動類型。它們不會擴及所有 Windows 背景處理程序。

SCM 在初始化時讀取 SvcHostSplitThresholdInKB,並在列舉與啟動服務時讀取 Start。在 25H2 的系統追蹤中,觀察到 services.exe 處理程序讀取 Start。從 HKCU 讀取參數可能不會落在短暫的觀察區間內;這並不能證明該功能不存在。

對於 Windows 11 25H2 build 26200.9168 上的「索引」,已檢查停用與還原。停用並重新開機後,索引器及相關處理程序未啟動;還原後服務再次運作。停用前,這些處理程序的記憶體工作集總計約為 64 MB。在其他系統上,用量可能不同。

對於 SysMain,已確認開機時會讀取狀態,且停用後會停止啟動。對實體遊戲 PC 的最終效果未經測量。在 HDD 上,停用資料預先載入可能會拖慢系統與應用程式的啟動。

實用頁面:「索引」 與 「SysMain (Prefetch, Superfetch…)」。

「列印服務」確實會在重新開機後停用列印佇列。除了實體印表機外,依賴它的虛擬情境也會停止運作,包括 Print to PDF。

「診斷驅動程式」設定的目前作用僅限於 Windows 診斷原則服務。不應將名稱理解為移除或停用裝置驅動程式。此選擇的代價是失去部分自動偵測與疑難排解功能。

實用頁面:「列印服務」 與 「診斷驅動程式」。

OneDrive 設定使用 Windows 已記載的原則來禁止同步。用戶端與本機檔案會保留。此設定僅在已安裝 OneDrive 時生效。停用前請完成所需的同步,並檢查 Files On-Demand 檔案。

實用頁面:「OneDrive」。

  • SCM 在初始化時讀取 SvcHostSplitThresholdInKB,並在列舉與啟動服務時讀取 Start;在 25H2 的系統追蹤中觀察到 services.exe 處理程序讀取 Start。
  • 對於「索引」,已檢查停用與還原:停用並重新開機後,索引器及相關處理程序未啟動,還原後服務再次運作。這些處理程序在停用前的記憶體工作集總計約為 64 MB。
  • 對於 SysMain,已確認開機時會讀取狀態,且停用後會停止啟動。
  • 「列印服務」會在重新開機後停用列印佇列;OneDrive 設定會套用已記載的禁止同步原則。
  • SCM 在初始化時讀取分割閾值,並在列舉與啟動服務時讀取 Start。
  • 停用索引、SysMain 與列印服務會在重新開機後停止相關處理程序的啟動;還原則會再次啟用它們。
  • 研究系統中索引處理程序的工作集用量。
  • 來自 HKCU 的殼層參數由互動式元件讀取,可能不會落在短暫的開機追蹤中。
  • 手動變更服務分割閾值的普遍效益。
  • 停用個別服務對 FPS、整體 CPU 或延遲的影響。
  • 在其他組建及服務數量不同的系統上的行為。

一般使用時,請讓 Service Host 保持 Windows 預設狀態。手動變更僅在診斷特定服務、記憶體流失或啟動衝突時才有意義。不應只依 Task Manager 中的 svchost.exe 數量來評估結果。

結果適用於 Windows 11 25H2 build 26200.9168。未檢查所有 Windows 版本、伺服器原則及第三方服務的完整相依性集合。

如何重現觀察中的動態部分——請參閱如何自行檢查。

本研究與所使用的工具屬於 BoosterX 開發者,因此開發者對結果有直接利益。方法與適用範圍已於上文說明,結論可依公開資料與所列公開來源進行驗證。

公開來源查核於:2026-09-02。

  • 2026-09-20: 新增「結果」章節、利益衝突免責聲明,以及方法中自行檢查動態觀察的連結。
  • 2026-09-02: 首次發布;確認 SCM readers、個別服務的停用與還原,並新增實務效果的適用範圍。