Optimize VDI: Windows 10 Services (Original, Anniversary, Creator and Fall Creator Updates)


This is a multi-part blog series focused on optimizing Windows 10 VDI

As we saw in a previous blog, Microsoft added new default apps into the base operating system of the Windows 10 Build 1709 (Fall Creator Update). These updates will have an impact on the user experience, especially in a VDI implementation.

Windows Services

Many of the new capabilities with the latest builds of Windows 10 also implements new Windows services. With each release, the number of services has steadily increased.

  • Build 1507: 196 Services
  • Build 1607: 212 Services
  • Build 1703: 223 Services
  • Build 1709: 234 Services

History has shown that optimizing Windows services can improve logon time and server density. It is recommended to review the list of services and disable those that are not necessary for the users.

To see a list of Windows services, run the following PowerShell command:
Get-Service

The table below shows the state of each service (Stoppped or Running). Only services with a green, orange and red shading should be considered for disabling.

Color Code:

  • Green: A currently running service; consider disabling
  • Orange: A stopped service that will run when requested; consider disabling
  • Red: Disable IF an alternative approach is used

 

Service Name Display Name Build 1507 (Original) Build 1607 (Anniv) Build 1703 (Creator) Build 1709 (Fall Creator)
AxInstSV ActiveX Installer (AxInstSV) Stopped Stopped Stopped Stopped
AJRouter AllJoyn Router Service Stopped Stopped Stopped Stopped
AppReadiness App Readiness Stopped Stopped Stopped Stopped
AppIDSvc Application Identity Stopped Stopped Stopped Stopped
Appinfo Application Information Stopped Running Stopped Stopped
ALG Application Layer Gateway Service Stopped Stopped Stopped Stopped
AppMgmt Application Management Stopped Stopped Stopped Stopped
AppXSvc AppX Deployment Service (AppXSVC) Stopped Stopped Stopped Running
AssignedAccessManager Assigned Access Manager Service Stopped
tzautoupdate Auto Time Zone Updater Stopped Stopped Stopped
BITS Background Intelligent Transfer Ser… Running Stopped Stopped Running
BrokerInfrastru… Background Tasks Infrastructure Ser… Running Running Running Running
BFE Base Filtering Engine Running Running Running Running
BDESVC BitLocker Drive Encryption Service Stopped Stopped Stopped Stopped
wbengine Block Level Backup Engine Service Stopped Stopped Stopped Stopped
BthHFSrv Bluetooth Handsfree Service Stopped Stopped Stopped Stopped
bthserv Bluetooth Support Service Stopped Stopped Stopped Stopped
PeerDistSvc BranchCache Stopped Stopped Stopped Stopped
camsvc Capability Access Manager Servic Stopped
CertPropSvc Certificate Propagation Stopped Running Running Running
ClipSVC Client License Service (ClipSVC) Running Running Stopped Stopped
KeyIso CNG Key Isolation Stopped Stopped Running Running
EventSystem COM+ Event System Stopped Running Running Running
COMSysApp COM+ System Application Running Running Stopped Stopped
Browser Computer Browser Stopped Stopped Running
CDPSvc Connected Devices Platform Service Running Running Running Running
CDPUserSvc_4e094 Connected Devices Platform User Ser… Running Running Running
DiagTrack Connected User Experiences and Tele… Running Running Running Running
PimIndexMainten… Contact Data_4e094 Stopped Stopped Stopped
CoreMessagingRe… CoreMessaging Running Running Running Running
VaultSvc Credential Manager Running Running Running Running
CryptSvc Cryptographic Services Stopped Running Running Running
DsSvc Data Sharing Service Stopped Stopped Stopped Stopped
DusmSvc Data Usage Running Running
DcpSvc DataCollectionPublishingService Running Stopped
DcomLaunch DCOM Server Process Launcher Stopped Running Running Running
DoSvc Delivery Optimization Running Running Running Stopped
DeviceAssociati… Device Association Service Stopped Stopped Running Stopped
DeviceInstall Device Install Service Stopped Running Stopped Stopped
DmEnrollmentSvc Device Management Enrollment Service Stopped Stopped Stopped Stopped
DsmSvc Device Setup Manager Stopped Stopped Stopped Stopped
DevicesFlowUser… DevicesFlow_4e094 Stopped Stopped
DevQueryBroker DevQuery Background Discovery Broker Running Stopped Stopped Stopped
Dhcp DHCP Client Running Running Running Running
diagsvc Diagnostic Execution Service Stopped
DPS Diagnostic Policy Service Running Running Running Running
WdiServiceHost Diagnostic Service Host Stopped Running Running Running
WdiSystemHost Diagnostic System Host Running Stopped Stopped Stopped
TrkWks Distributed Link Tracking Client Running Running Running Running
MSDTC Distributed Transaction Coordinator Stopped Stopped Stopped Stopped
dmwappushservice dmwappushsvc Stopped Stopped Stopped Stopped
Dnscache DNS Client Running Running Running Running
MapsBroker Downloaded Maps Manager Stopped Stopped Stopped Stopped
embeddedmode Embedded Mode Stopped Stopped Stopped Stopped
EFS Encrypting File System (EFS) Stopped Stopped Stopped Stopped
EntAppSvc Enterprise App Management Service Stopped Stopped Stopped Stopped
EapHost Extensible Authentication Protocol Stopped Stopped Stopped Stopped
Fax Fax Stopped Stopped Stopped Stopped
fhsvc File History Service Stopped Stopped Stopped Stopped
fdPHost Function Discovery Provider Host Stopped Stopped Stopped Stopped
FDResPub Function Discovery Resource Publica… Stopped Stopped Stopped Stopped
lfsvc Geolocation Service Stopped Running Running Running
GraphicsPerfSvc Graphics Performance Service Stopped
gpsvc Group Policy Client Running Stopped Stopped Running
HomeGroupListener HomeGroup Listener Stopped Stopped Stopped Stopped
HomeGroupProvider HomeGroup Provider Stopped Stopped Stopped Stopped
hidserv Human Interface Device Service Stopped Stopped Stopped Stopped
HvHost HV Host Service Stopped Stopped Stopped
vmickvpexchange Hyper-V Data Exchange Service Stopped Stopped Stopped Stopped
vmicguestinterface Hyper-V Guest Service Interface Stopped Stopped Stopped Stopped
vmicshutdown Hyper-V Guest Shutdown Service Stopped Stopped Stopped Stopped
vmicheartbeat Hyper-V Heartbeat Service Stopped Stopped Stopped Stopped
vmicvmsession Hyper-V PowerShell Direct Service Stopped Stopped Stopped Stopped
vmicrdv Hyper-V Remote Desktop Virtualizati… Stopped Stopped Stopped Stopped
vmictimesync Hyper-V Time Synchronization Service Stopped Stopped Stopped Stopped
vmicvss Hyper-V Volume Shadow Copy Requestor Stopped Stopped Stopped Stopped
IKEEXT IKE and AuthIP IPsec Keying Modules Stopped Stopped Stopped Stopped
irmon Infrared monitor service Stopped Stopped Stopped
InstallService Windows Store Install Service Stopped
UI0Detect Interactive Services Detection Stopped Stopped Stopped Stopped
SharedAccess Internet Connection Sharing (ICS) Stopped Stopped Stopped Stopped
IEEtwCollectorS… Internet Explorer ETW Collector Ser… Stopped
iphlpsvc IP Helper Running Running Running Running
IpxlatCfgSvc IP Translation Configuration Service Stopped Stopped
PolicyAgent IPsec Policy Agent Running Running Running Running
KtmRm KtmRm for Distributed Transaction C… Stopped Stopped Stopped Stopped
lltdsvc Link-Layer Topology Discovery Mapper Stopped Stopped Stopped Stopped
LSM Local Session Manager Running Running Running Running
wlpasvc LPA Service Stopped Stopped
MessagingServic… MessagingService_4e094 Stopped Stopped Stopped
diagnosticshub…. Microsoft (R) Diagnostics Hub Stand… Stopped Stopped Stopped Stopped
wlidsvc Microsoft Account Sign-in Assistant Stopped Stopped Stopped Stopped
AppVClient Microsoft App-V Client Stopped Stopped Stopped
MSiSCSI Microsoft iSCSI Initiator Service Stopped Stopped Stopped Stopped
NgcSvc Microsoft Passport Stopped Stopped Stopped Stopped
NgcCtnrSvc Microsoft Passport Container Stopped Stopped Stopped Stopped
swprv Microsoft Software Shadow Copy Prov… Stopped Stopped Stopped Stopped
smphost Microsoft Storage Spaces SMP Stopped Stopped Stopped Stopped
SmsRouter Microsoft Windows SMS Router Service. Stopped Running Stopped Stopped
NaturalAuthenti… Natural Authentication Stopped Stopped
NetTcpPortSharing Net.Tcp Port Sharing Service Stopped Stopped Stopped Stopped
Netlogon Netlogon Running Running Running Running
NcdAutoSetup Network Connected Devices Auto-Setup Stopped Stopped Stopped Stopped
NcbService Network Connection Broker Running Running Running Running
Netman Network Connections Stopped Stopped Stopped Stopped
NcaSvc Network Connectivity Assistant Stopped Stopped Stopped Stopped
netprofm Network List Service Running Running Running Running
NlaSvc Network Location Awareness Running Running Running Running
NetSetupSvc Network Setup Service Stopped Stopped Stopped Stopped
nsi Network Store Interface Service Running Running Running Running
CscService Offline Files Stopped Stopped Stopped Stopped
defragsvc Optimize drives Stopped Stopped Stopped Stopped
SEMgrSvc Payments and NFC/SE Manager Stopped Stopped
PNRPsvc Peer Name Resolution Protocol Stopped Stopped Stopped Stopped
p2psvc Peer Networking Grouping Stopped Stopped Stopped Stopped
p2pimsvc Peer Networking Identity Manager Stopped Stopped Stopped Stopped
PerfHost Performance Counter DLL Host Stopped Stopped Stopped Stopped
pla Performance Logs & Alerts Stopped Stopped Stopped Stopped
PhoneSvc Phone Service Stopped Stopped Stopped
PlugPlay Plug and Play Running Running Running Running
PNRPAutoReg PNRP Machine Name Publication Service Stopped Stopped Stopped Stopped
WPDBusEnum Portable Device Enumerator Service Stopped Stopped Stopped Stopped
Power Power Running Running Running Running
Spooler Print Spooler Running Running Running Running
PrintNotify Printer Extensions and Notifications Stopped Stopped Stopped Stopped
PrintWorkdlowUser Printer Workflow Stopped
wercplsupport Problem Reports and Solutions Contr… Stopped Stopped Stopped Stopped
PcaSvc Program Compatibility Assistant Ser… Running Running Running Running
PushToInstall Windows PushToInstall Service Stopped
QWAVE Quality Windows Audio Video Experience Stopped Stopped Stopped Stopped
RmSvc Radio Management Service Stopped Stopped Stopped
RasAuto Remote Access Auto Connection Manager Stopped Stopped Stopped Stopped
RasMan Remote Access Connection Manager Stopped Stopped Stopped Stopped
SessionEnv Remote Desktop Configuration Running Running Running Running
TermService Remote Desktop Services Running Running Running Running
UmRdpService Remote Desktop Services UserMode Po… Running Running Running Running
RpcSs Remote Procedure Call (RPC) Running Running Running Running
RpcLocator Remote Procedure Call (RPC) Locator Stopped Stopped Stopped Stopped
RemoteRegistry Remote Registry Stopped Stopped Stopped Stopped
RetailDemo Retail Demo Service Stopped Stopped Stopped Stopped
RemoteAccess Routing and Remote Access Stopped Stopped Stopped Stopped
RpcEptMapper RPC Endpoint Mapper Running Running Running Running
seclogon Secondary Logon Running Running Running Stopped
SstpSvc Secure Socket Tunneling Protocol Se… Stopped Stopped Stopped Stopped
SamSs Security Accounts Manager Running Running Running Running
wscsvc Security Center Running Running Running Running
SensorDataService Sensor Data Service Stopped Stopped Stopped Stopped
SensrSvc Sensor Monitoring Service Stopped Stopped Stopped Stopped
SensorService Sensor Service Stopped Stopped Stopped Stopped
LanmanServer Server Running Running Running Running
shpamsvc Shared PC Account Manager Stopped Stopped Stopped
SharedRealitySvc Spatial Data Service Stopped
ShellHWDetection Shell Hardware Detection Running Running Running Running
SCardSvr Smart Card Stopped Stopped Stopped Stopped
ScDeviceEnum Smart Card Device Enumeration Service Running Running Running Running
SCPolicySvc Smart Card Removal Policy Stopped Stopped Stopped Stopped
SNMPTRAP SNMP Trap Stopped Stopped Stopped Stopped
sppsvc Software Protection Stopped Stopped Stopped Stopped
svsvc Spot Verifier Stopped Stopped Stopped Stopped
SSDPSRV SSDP Discovery Running Running Running Running
StateRepository State Repository Service Running Running Running Running
WiaRpc Still Image Acquisition Events Stopped Stopped Stopped Stopped
StorSvc Storage Service Stopped Stopped Running Running
TieringEngineSe… Storage Tiers Management Stopped Stopped Stopped
SysMain Superfetch Running Running Running Running
OneSyncSvc_4e094 Sync Host_4e094 Running Running Stopped
SENS System Event Notification Service Running Running Running Running
SystemEventsBroker System Events Broker Running Running Running Running
Schedule Task Scheduler Running Running Running Running
lmhosts TCP/IP NetBIOS Helper Running Running Running Running
TapiSrv Telephony Stopped Stopped Stopped Stopped
Themes Themes Running Running Running Running
tiledatamodelsvc Tile Data model server Running Running Running Running
TimeBrokerSvc Time Broker Running Running Running Running
TokenBroker TokenBroker Running Running
TabletInputService Touch Keyboard and Handwriting Pane… Stopped Stopped Stopped Running
UsoSvc Update Orchestrator Service Stopped Stopped Stopped Stopped
upnphost UPnP Device Host Stopped Stopped Stopped Stopped
UserDataSvc_4e094 User Data Access_4e094 Stopped Stopped Stopped
UnistoreSvc_4e094 User Data Storage_4e094 Stopped Stopped Stopped
UevAgentService User Experience Virtualization Service Stopped Stopped Stopped
UserManager User Manager Running Running Running Running
ProfSvc User Profile Service Running Running Running Running
vds Virtual Disk Stopped Stopped Stopped Stopped
VSS Volume Shadow Copy Stopped Stopped Stopped Stopped
WalletService WalletService Stopped Stopped Stopped Stopped
WarpJITSvc WarpJITSvc Stopped
WebClient WebClient Stopped Stopped Stopped Stopped
WFDSConMgrSvc Wi-Fi Direct Services Connection Ma… Stopped Stopped
Audiosrv Windows Audio Running Running Running Running
AudioEndpointBu… Windows Audio Endpoint Builder Running Running Running Running
SDRSVC Windows Backup Stopped Stopped Stopped Stopped
WbioSrvc Windows Biometric Service Stopped Stopped Stopped Stopped
FrameServer Windows Camera Frame Server Stopped Stopped Stopped Stopped
WcsPlugInService Windows Color System
wcncsvc Windows Connect Now – Config Registrar Stopped Stopped Stopped Stopped
Wcmsvc Windows Connection Manager Running Running Running Running
Sense Windows Defender Advanced Threat Pr… Stopped Stopped Stopped
WdNisSvc Windows Defender Antivirus Network … Running Running Running Running
WinDefend Windows Defender Antivirus Service Running Running Running Running
SecurityHealthS… Windows Defender Security Center Se… Running Running
wudfsvc Windows Driver Foundation – User-mo… Stopped Running Stopped
WEPHOSTSVC Windows Encryption Provider Host Se… Stopped Stopped Stopped Stopped
WerSvc Windows Error Reporting Service Stopped Stopped Stopped Stopped
Wecsvc Windows Event Collector Stopped Stopped Stopped Stopped
EventLog Windows Event Log Running Running Running Running
MpsSvc Windows Firewall Running Running Running Running
FontCache Windows Font Cache Service Running Running Running Running
stisvc Windows Image Acquisition (WIA) Stopped Stopped Stopped Stopped
wisvc Windows Insider Service Stopped Stopped Stopped
msiserver Windows Installer Stopped Stopped Stopped Stopped
LicenseManager Windows License Manager Service Stopped Stopped Running Running
Winmgmt Windows Management Instrumentation Running Running Running Running
WMPNetworkSvc Windows Media Player Network Sharin… Stopped Stopped Stopped Stopped
icssvc Windows Mobile Hotspot Service Stopped Stopped Stopped Stopped
TrustedInstaller Windows Modules Installer Stopped Stopped Stopped Stopped
spectrum Windows Perception Service Stopped Stopped
WpnService Windows Push Notifications System S… Stopped Running Running Stopped
WpnUserService_… Windows Push Notifications User Ser… Stopped Running Running
WinRM Windows Remote Management (WS-Manag… Stopped Stopped Stopped Stopped
WSearch Windows Search Running Running Running Running
WSService Windows Store Service (WSService) Stopped
W32Time Windows Time Running Running Running Running
wuauserv Windows Update Stopped Stopped Stopped Stopped
WinHttpAutoProx… WinHTTP Web Proxy Auto-Discovery Se… Running Running Running Running
dot3svc Wired AutoConfig Stopped Stopped Stopped Stopped
WlanSvc WLAN AutoConfig Stopped Stopped Stopped Stopped
wmiApSrv WMI Performance Adapter Stopped Stopped Stopped Stopped
workfolderssvc Work Folders Stopped Stopped Stopped Stopped
LanmanWorkstation Workstation Running Running Running Running
WwanSvc WWAN AutoConfig Stopped Stopped Stopped Stopped
XboxGipSvc Xbox Accessory Management Service Stopped Stopped
xbgm Xbox Game Monitoring Stopped Stopped
XblAuthManager Xbox Live Auth Manager Stopped Stopped Stopped Stopped
XblGameSave Xbox Live Game Save Stopped Stopped Stopped Stopped
XboxNetApiSvc Xbox Live Networking Service Stopped Stopped Stopped Stopped

Note: For Windows Search, consider leaving it active but change the index parameters to only include indexing of the Windows Start Menu.

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Video

Advertisements

Optimize VDI: Windows 10 Default Apps (Original, Anniversary, Creator and Fall Creator Updates)


This is a multi-part blog series focused on optimizing Windows 10 VDI

With the release of Windows 10 Build 1709 (Fall Creator Update), Microsoft continues to add new capabilities into the base operating system that will have an impact on the user experience in a VDI implementation.

Default Apps

Microsoft expanded the list of default applications that come pre-installed within the base OS.

With each release, the number of default apps increased.

  • Build 1507: 24 Apps
  • Build 1607: 26 Apps
  • Build 1703: 31 Apps
  • Build 1709: 33 Apps

As shown in previous tests, leaving these apps part of the base operating system directly impact user logon time and overall system density. It is generally recommended to review the list of apps and uninstall those that are not necessary for the users.

To see a list of default Windows apps, run the following PowerShell command:
Get-ProvisionedAppXPackage -Online|Select DisplayName

Color Code:

  • Green: Remove
  • Orange: Consider removing
  • Red: Keep
  • Black: App does not exist on build

Continue reading Optimize VDI: Windows 10 Default Apps (Original, Anniversary, Creator and Fall Creator Updates)

XenServer PVS Accelerator Sizing – Part 2


As you might have read, I recently ran a few XenServer PVS Accelerator tests to determine a starting point for the cache size.  This initial investigation looked at Windows 10 and Windows 2012R2 for boot and logon operations.

Looking back, I determined that I want to include three additional items

  1. Impact of a larger cache size – Increase from 2GB to 4GB RAM cache
  2. Impact of applications
  3. Impact of Windows 2016

Before I get into the results, let me explain the graphs.

  • The blue, green and orange line denotes boot, logon and steady state operations. The first time those colors appear depicts the first VM; the second time the colors appear depicts the second VM. These colors are linked to the axis on the right showing percent of cache used.
  • The solid red area graph depicts the amount of network traffic sent from the Provisioning Services server to the host.  The line should initially be large and then diminish as the cache is used. It is linked to the left axis with bytes per second.

With that understanding out of the way, let’s look at the results.

Continue reading XenServer PVS Accelerator Sizing – Part 2

Windows Server 2016 Optimizations for Citrix XenApp


When it comes to operating system optimization, I have two sides battling with each other. Although optimizing does improve single server scalability, I believe the more you mess with the OS the greater your chances are that you will break something.

Default Apps

Unlike Windows 10, which had numerous default apps that increased user logon time, Windows Server 2016 is free from such additions.

Services

Many of the services we disabled in Windows 10 are already configured as manual startup in Windows 2016.  Looking deeper, it would appear that many of these services are either started based on a request by an application or based on a scheduled task.If a manual startup service is disabled, then any application or system component that tries to interact with the service will fail.  This will result in application/system issues, support calls and long troubleshooting times.Based on that , the only service that you think about disabling is:

Continue reading Windows Server 2016 Optimizations for Citrix XenApp

XenServer PVS Accelerator Cache Sizing


How large should we make our PVS Accelerator cache? Too large and we waste resources. Too small and we lose the performance.

Let’s take a step back and recall our best practice for sizing the RAM on Provisioning Services.  We would typically say allocate 2GB of RAM for each vDisk image the server provides.  This simple recommendation gives the PVS server enough RAM to cache portions of the image in Windows system cache, which reduces local read IO. So for a PVS server delivering

  • 1 image:  we would allocate 2GB of RAM (plus 4GB more for the PVS server itself)
  • 2 images:  we would allocate 4GB of RAM (plus 4GB more for the PVS server itself)
  • 4 images:  we would allocate 8GB of RAM (plus 4GB more for the PVS server itself)

Easy.

Let’s now focus on the XenServer portion of PVS Accelerator. If we use RAM as our PVS Accelerator cache, how many GB should we allocate?

Continue reading XenServer PVS Accelerator Cache Sizing