From 65312a6294305dab628e6816f8c58d30864f03fe Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Thu, 20 Jul 2017 01:30:04 +0000 Subject: [PATCH] Merged PR 2317: Svchost service refactoring - CSS content article This is a contribution from Kaushik Ainapure on the CSS team to address a customer issue. He's reviewed the stage and signed off. --- windows/application-management/TOC.md | 1 + .../media/svchost-grouped-processes.png | Bin 0 -> 12307 bytes .../media/svchost-grouped-utilization.png | Bin 0 -> 9843 bytes .../media/svchost-separated-processes.png | Bin 0 -> 5236 bytes .../media/svchost-separated-utilization.png | Bin 0 -> 2648 bytes .../media/svchost-separation-disabled.png | Bin 0 -> 38988 bytes .../svchost-service-refactoring.md | 91 ++++++++++++++++++ 7 files changed, 92 insertions(+) create mode 100644 windows/application-management/media/svchost-grouped-processes.png create mode 100644 windows/application-management/media/svchost-grouped-utilization.png create mode 100644 windows/application-management/media/svchost-separated-processes.png create mode 100644 windows/application-management/media/svchost-separated-utilization.png create mode 100644 windows/application-management/media/svchost-separation-disabled.png create mode 100644 windows/application-management/svchost-service-refactoring.md diff --git a/windows/application-management/TOC.md b/windows/application-management/TOC.md index 7f815bfe0e..9ba9efbd7d 100644 --- a/windows/application-management/TOC.md +++ b/windows/application-management/TOC.md @@ -99,3 +99,4 @@ #### [Application Publishing and Client Interaction](app-v/appv-application-publishing-and-client-interaction.md) #### [Viewing App-V Server Publishing Metadata](app-v/appv-viewing-appv-server-publishing-metadata.md) #### [Running a Locally Installed Application Inside a Virtual Environment with Virtualized Applications](app-v/appv-running-locally-installed-applications-inside-a-virtual-environment.md) +## [Service Host process refactoring](svchost-service-refactoring.md) diff --git a/windows/application-management/media/svchost-grouped-processes.png b/windows/application-management/media/svchost-grouped-processes.png new file mode 100644 index 0000000000000000000000000000000000000000..d85f8e8951a29a842a73cc4e20d2403a90e176cc GIT binary patch literal 12307 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 buhJc(G&@tCV=`|)@&lCLtIOBPnT7oyPUY}* literal 0 HcmV?d00001 diff --git a/windows/application-management/media/svchost-grouped-utilization.png b/windows/application-management/media/svchost-grouped-utilization.png new file mode 100644 index 0000000000000000000000000000000000000000..cd46b0d4b4ce168c0415b778f0a58af9a6fc0c84 GIT binary patch literal 9843 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 S7De3@qNylo$|GehApZk?(*dUd literal 0 HcmV?d00001 diff --git a/windows/application-management/media/svchost-separated-utilization.png b/windows/application-management/media/svchost-separated-utilization.png new file mode 100644 index 0000000000000000000000000000000000000000..5c5834cc449f9353d5e2191dd476250340bffc20 GIT binary patch literal 2648 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 literal 0 HcmV?d00001 diff --git a/windows/application-management/svchost-service-refactoring.md b/windows/application-management/svchost-service-refactoring.md new file mode 100644 index 0000000000..e2f00263db --- /dev/null +++ b/windows/application-management/svchost-service-refactoring.md @@ -0,0 +1,91 @@ +--- +title: Service Host service refactoring in Windows 10 version 1703 +description: Learn about the SvcHost Service Refactoring introduced in Windows 10 version 1703. +ms.prod: w10 +ms.mktglfcycl: deploy +ms.sitesec: library +ms.pagetype: mobile +ms.author: kaushika-ainapure +author: kaushika-msft +ms.date: 07/19/2017 +--- + +# Changes to Service Host grouping in Windows 10 + +> Applies to: Windows 10 + +The **Service Host (svchost.exe)** is a shared-service process that serves as a shell for loading services from DLL files. Services are organized into related host groups, and each group runs inside a different instance of the Service Host process. In this way, a problem in one instance does not affect other instances. Service Host groups are determined by combining the services with matching security requirements. For example: + +* Local Service +* Local Service No Network +* Local Service Network Restricted +* Local System +* Local System Network Restricted +* Network Service + +## Separating SvcHost services + +Beginning with Windows 10 Creators Update (version 1703), services that were previously grouped will instead be separated - each will run in its own SvcHost process. This change is automatic for systems with **more than 3.5 GB** of RAM running the Client Desktop SKU. On systems with 3.5 GB or less RAM, we'll continue to group services into a shared SvcHost process. + +Benefits of this design change include: + +* Increased reliability by insulating critical network services from the failure of another non-network service in the host, and adding the ability to restore networking connectivity seamlessly when networking components crash. +* Reduced support costs by eliminating the troubleshooting overhead associated with isolating misbehaving services in the shared host. +* Increased security by providing additional inter-service isolation +* Increased scalability by allowing per-service settings and privileges +* Improved resource management through per-service CPU, I/O and memory management and increase clear telemetry (report CPU, I/O and network usage per service). + +>**Try This** +> +> To see the refactoring behavior, create a Windows 10 version 1703 VM and configure the memory settings as follows: +> 1. To see grouped processes, set the RAM to 3484 MB or less. Restart the VM and then open Task Manager. +> 2. To see separated processes, set the RAM to 3486 MB or greater. Restart the VM and then open Task Manager. + + +Refactoring also makes it easier to view running processes in Task Manager. You can look at Task Manager and know exactly which service is using what resources, without having to expand many separate host groups. + +For example, here are the running processes displayed in Task Manager in Windows 10 version 1607: + +![Running processes in Task Manager, version 1607](media/svchost-grouped-processes.png) + +Compare that to the same view of running processes in Windows 10 version 1703: + +![Running processes in Task Manager, version 1703](media/svchost-separated-processes.png) + + + + +## Exceptions +Some services will continue to be grouped on PCs running with 3.5GB or higher RAM. For example, the Base Filtering Engine (BFE) and the Windows Firewall (Mpssvc) will be grouped together in a single host group, as will the RPC Endpoint Mapper and Remote Procedure Call services. + +If you need to identify services that will continue to be grouped, in addition to seeing them in Task Manager and using command line tools, you can look for the *SvcHostSplitDisable* value in their respective service keys under +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. + +The default value of **1** prevents the service from being split. + +For example, this is the registry key configuration for BFE: +![Example of a service that cannot be separated](media/svchost-separation-disabled.png) + +## Memory footprint + +Be aware that separating services increases the total number of SvcHost instances, which increases memory utlization. (Service grouping provided a modest reduction to the overall resource footprint of the services involved.) + +Consider the following: + + +|Grouped Services (< 3.5GB) | Split Services (3.5GB+) +|--------------------------------------- | ------------------------------------------ | +|![Memory utilization for grouped services](media/svchost-grouped-utilization.png) |![Memory utilization for separated services](media/svchost-separated-utilization.png) | + +> [!NOTE] +> The above represents the peak observed values. + +The total number of service instances and the resulting memory utilization varies depending on activity. Instance counts can typically range from approximately 17-21 for grouped services, and 67-74 for separated services. + +> **Try This** +> +>To determine the impact of splitting hosted services on a Windows 10 version 1703 PC, run the following Windows PowerShell cmdlet, before and after toggling the memory settings: +> +> ```powershell +> Get-Process SvcHost | Group-Object -Property ProcessName | Format-Table Name, Count, @{n='Mem (KB)';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)};a='right'} -AutoSize +>```