VDI Optimization – OS Services | Part1

After VM Hardware optimizations, covered in a previous post, now we will go through the Windows Services. Disabling the unnecessary windows services could dramatically increase your overall VDI performance by decreasing the resources which each of the desktops consume.  I am going to go through the eventual services which could be stopped/disabled, giving service description and a powershell command how the recommended action could be apply. It is very important to know that every windows service change must be very carefully evaluated for each VDI separately. What is good for my VDI, may not be good for yours.

Background Intelligent Transfer Service

Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows Update or MSN Explorer, will be unable to automatically download programs and other information.

Recommended status: Disabled 

Powershell command for applying recommended value: Set-Service ‘bits’ -startuptype “disabled”

Bitlocker Drive Encryption Service

BDESVC hosts the BitLocker Drive Encryption service. BitLocker Drive Encryption provides secure startup for the operating system, as well as full volume encryption for OS, fixed or removable volumes. This service allows BitLocker to prompt users for various actions related to their volumes when mounted, and unlocks volumes automatically without user interaction. Additionally, it stores recovery information to Active Directory, if available, and, if necessary, ensures the most recent recovery certificates are used.  Stopping or disabling the service would prevent users from leveraging this functionality.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘BDESVC’ -startuptype “disabled”

Block Level Backup Engine Service

The WBENGINE service is used by Windows Backup to perform backup and recovery operations. If this service is stopped by a user, it may cause the currently running backup or recovery operation to fail. Disabling this service may disable backup and recovery operations using Windows Backup on this computer.

Recommended status: Disabled

Bluetooth Support Service

The Bluetooth service supports discovery and association of remote Bluetooth devices.  Stopping or disabling this service may cause already installed Bluetooth devices to fail to operate properly and prevent new devices from being discovered or associated.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘wbengine’ -startuptype “disabled”

BranchCache

This service caches network content from peers on the local subnet.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘PeerDistSvc’ -startuptype “disabled”

Computer Browser

Maintains an updated list of computers on the network and supplies this list to computers designated as browsers. If this service is stopped, this list will not be updated or maintained. If this service is disabled, any services that explicitly depend on it will fail to start.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘Browser’ -startuptype “disabled”

Desktop Window Manager Session Manager

Provides Desktop Window Manager startup and maintenance services.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘UxSms’ -startuptype “disabled”

Group Policy Client

The service is responsible for applying settings configured by administrators for the computer and users through the Group Policy component. If the service is stopped or disabled, the settings will not be applied and applications and components will not be manageable through Group Policy. Any components or applications that depend on the Group Policy component might not be functional if the service is stopped or disabled.

Recommended status: Manual

Powershell command for applying recommended value: Set-Service ‘gpsvc’ -startuptype “manual”

Diagnostic Policy Service

The Diagnostic Policy Service enables problem detection, troubleshooting and resolution for Windows components.  If this service is stopped, diagnostics will no longer function.

Recommended status: Disabled

Powershell command for applying recommended value: Powershell Set-Service ‘DPS’ -startuptype “disabled”

Diagnostic Service Host

The Diagnostic Service Host is used by the Diagnostic Policy Service to host diagnostics that need to run in a Local Service context.  If this service is stopped, any diagnostics that depend on it will no longer function.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘WdiServiceHost’ -startuptype “disabled”

Diagnostic System Host

The Diagnostic System Host is used by the Diagnostic Policy Service to host diagnostics that need to run in a Local System context.  If this service is stopped, any diagnostics that depend on it will no longer function.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘WdiSystemHost’ -startuptype “disabled”

Disk Defragmenter

Provides Disk Defragmentation Capabilities.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘Defragsvc’ -startuptype “disabled”

Fax

Enables you to send and receive faxes, utilizing fax resources available on this computer or on the network.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘Fax’ -startuptype “disabled”

Function Discovery Provider Host

The FDPHOST service hosts the Function Discovery (FD) network discovery providers. These FD providers supply network discovery services for the Simple Services Discovery Protocol (SSDP) and Web Services – Discovery (WS-D) protocol. Stopping or disabling the FDPHOST service will disable network discovery for these protocols when using FD. When this service is unavailable, network services using FD and relying on these discovery protocols will be unable to find network devices or resources.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘fdPHost’ -startuptype “disabled”

Function Discovery Provider Host

The FDPHOST service hosts the Function Discovery (FD) network discovery providers. These FD providers supply network discovery services for the Simple Services Discovery Protocol (SSDP) and Web Services – Discovery (WS-D) protocol. Stopping or disabling the FDPHOST service will disable network discovery for these protocols when using FD. When this service is unavailable, network services using FD and relying on these discovery protocols will be unable to find network devices or resources.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘fdPHost’ -startuptype “disabled”

Function Discovery Resource Publication

Publishes this computer and resources attached to this computer so they can be discovered over the network.  If this service is stopped, network resources will no longer be published and they will not be discovered by other computers on the network.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘FDResPub’ -startuptype “disabled”

HomeGroup Listener

Makes local computer changes associated with configuration and maintenance of the homegroup-joined computer. If this service is stopped or disabled, your computer will not work properly in a homegroup and your homegroup might not work properly. It is recommended that you keep this service running.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘HomeGroupListener’ -startuptype “disabled”

HomeGroup Provider

Performs networking tasks associated with configuration and maintenance of homegroups. If this service is stopped or disabled, your computer will be unable to detect other homegroups and your homegroup might not work properly. It is recommended that you keep this service running.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘HomeGroupProvider’ -startuptype “disabled”

Interactive Services Detection

Enables user notification of user input for interactive services, which enables access to dialogs created by interactive services when they appear. If this service is stopped, notifications of new interactive service dialogs will no longer function and there might not be access to interactive service dialogs. If this service is disabled, both notifications of and access to new interactive service dialogs will no longer function.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘UI0Detect’ -startuptype “disabled”

IP Helper

Provides tunnel connectivity using IPv6 transition technologies (6to4, ISATAP, Port Proxy, and Teredo), and IP-HTTPS. If this service is stopped, the computer will not have the enhanced connectivity benefits that these technologies offer.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘iphlpsvc’ -startuptype “disabled”

Media Center Extender Service

Allows Media Center Extenders to locate and connect to the computer.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘Mcx2Svc’ -startuptype “disabled”

Microsoft iSCSI Initiator Service

Manages Internet SCSI (iSCSI) sessions from this computer to remote iSCSI target devices. If this service is stopped, this computer will not be able to login or access iSCSI targets. If this service is disabled, any services that explicitly depend on it will fail to start.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘MSiSCSI’ -startuptype “disabled”

Microsoft Software Shadow Copy Provider

Manages software-based volume shadow copies taken by the Volume Shadow Copy service. If this service is stopped, software-based volume shadow copies cannot be managed. If this service is disabled, any services that explicitly depend on it will fail to start.

Recommended status: Disabled

Powershell command for applying recommended value: Set-Service ‘swprv’ -startuptype “disabled”

Resources: Microsoft, VMware, Citrix

The following two tabs change content below.

Nikolay Nikolov

VDI Engineer
Nikolay has 9 years work experience in IT and 5 of them in the Virtualization technologies mainly based on VMware products. Currently works as VDI Engineer at MSD IT Global Innovation Center and he is an ex-member of VMware CoE at IBM. He holds VCIX6-DCV, VCIX6-DTM and VCP on DCV, DTM, NV and Cloud, Nutanix NPP certificate and also Master Degree of Computer Systems and Networks. Honored with vExpert 2015/2016 by VMware and Nutanix Technology Champion 2016/2017.

Latest posts by Nikolay Nikolov (see all)

About Nikolay Nikolov

Nikolay has 9 years work experience in IT and 5 of them in the Virtualization technologies mainly based on VMware products. Currently works as VDI Engineer at MSD IT Global Innovation Center and he is an ex-member of VMware CoE at IBM. He holds VCIX6-DCV, VCIX6-DTM and VCP on DCV, DTM, NV and Cloud, Nutanix NPP certificate and also Master Degree of Computer Systems and Networks. Honored with vExpert 2015/2016 by VMware and Nutanix Technology Champion 2016/2017.
Bookmark the permalink.

4 Comments

  1. Have you measured how much of RAM is saved by disabling these services? Or how much faster Windows boots?

    • Not really, but it would not be much per a single instance. The benefit is coming when we have we have hundreds or thousands of virtual desktops. The benefit from disabling some of those services would be greater for the storage IOs, which usually are the performance factor.
      Thanks for your comment!

  2. Pingback: VDI Optimization - OS Services | Part2 - The Virtualist

  3. Hi Nikolay, Do you aware any measuring tool of performance that can produce before and after tuning the VDI?

Comments are closed