How to Optimize XenDesktop Machines

How to Optimize XenDesktop Machines

book

Article ID: CTX125874

calendar_today

Updated On:

Description

This article describes how to optimize XenDesktop Machines.

Background

The TargetOSOptimizer tool reconfigures various Windows functions to optimize the performance of the operating system for virtual desktops. Optimization of the master Virtual Machine is typically performed before the desktop catalog is created.


Instructions

To optimize the master virtual machine, select the option to optimize the desktop when you install the Virtual Delivery Agent (VDA).

This applies a predetermined set of optimizations specifically recommended for Pooled and Dedicated machines as part of the VDA installation process.

To apply additional optimizations to the master virtual machine later, run the TargetOSOptimizer tool manually.

Note: Optimizations are applied either through changes to the Windows registry or programmatically by disabling specific features. Some optimizations are only applicable to certain versions of Windows or, for physical machines, specific hardware such as particular network adapters.

A backup file named optimizations.reg is stored in the installation folder for the TargetOSOptimizer tool, typically located at C:\Program Files (x86)\Citrix\TargetOSOptimizer. Apply this file to the Windows registry to revert the most recent set of optimizations on the master virtual machine.

Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.

Note: The optimization phase of the VDA installation might take a long time to complete. In some tests, it has taken about half an hour and might take longer. These instances occur when installing the VDA on an image running a Windows operating system if Optimize Performance has been selected on the XenDesktop installation wizard features page. This causes the Microsoft Native Image Generator (Ngen) to run. If this occurs, allow the installation process to finish. Citrix recommends that you run Ngen on your VDA base image prior to provisioning virtual desktops to avoid delays caused when it runs in the background of provisioned virtual desktops.

Specific Optimizations Performed by the Virtual Delivery Agent 7.x Installer

  • Disable Offline Files              
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]
    "Enabled"=dword:00000000

  • Disable Windows Autoupdate
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update]
    "NoAutoUpdate"=dword:00000001
    "AUOptions"=dword:00000001
    "ScheduledInstallDay"=dword:00000000
    "ScheduledInstallTime"=dword:00000003

  • Disable Defrag BootOptimizeFunction
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
    "Enable"="N"

  • Disable Background Layout Service
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]
    "EnableAutoLayout"=dword:00000000

  • Disable Last Access Timestamp
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
    "NtfsDisableLastAccessUpdate"=dword:00000001

  • Disable Hibernate (Windows Vista and Windows Server 2008 only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]              "Heuristics"=hex:06,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,3f,42,0f,00

  • Disable Hibernate (Windows 7 only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]
    "HibernateEnabled"=dword:00000000

  • Disable Hibernate (Windows 8 and Windows 2012 only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
    "HibernateEnabled"=dword:00000000

  • Reduce DedicatedDumpFile DumpFileSize to 2MB
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl]
    "DumpFileSize"=dword:00000002
    "IgnorePagefileSize"=dword:00000001

  • Disable Indexing Service
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cisvc]
    "Start"=dword:00000004

  • Disable Move to Recycle Bin
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
    "NoRecycleFiles"=dword:00000001

  • Reduce Event Log Size to 64k
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
    "MaxSize"=dword:00010000   
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
    "MaxSize"=dword:00010000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System]
    "MaxSize"=dword:00010000

  • Reduce Internet Explorer Temp File
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths]
    "Paths"=dword:00000004
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path1]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path2]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path3]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path4]
    "CacheLimit"=dword:00000100

  • Disable Clear Page File at Shutdown
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]               "ClearPageFileAtShutdown"=dword:00000000

  • Disable Windows SuperFetch
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysMain]
    "Start"=dword:00000004

  •  Disable Windows Defender
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend]
    "Start"=dword:00000004
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
    "Windows Defender"=hex(2):00

  • Disable Windows Search
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSearch]
    "Start"=dword:00000004

Additional Optimizations Available When Running the Tool Manually

  • Disable Machine Account Password Changes
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
    "DisablePasswordChange"=dword:00000001

Specific Optimizations Performed by the Virtual Delivery Agent 5.x Installer

  • Disable Windows Autoupdate
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    WindowsUpdate\Auto Update]
    "AUOptions"=dword:00000001
    "ScheduledInstallDay"=dword:00000000
    "ScheduledInstallTime"=dword:00000003
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv]
    "Start"=dword:00000004

  • Disable Offline Files
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]
    "Enabled"=dword:00000000

  • Disable Disk Defragmentation BootOptimizeFunction
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
    "Enable"="N"

  • Disable Background Layout Service
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    OptimalLayout]
    "EnableAutoLayout"=dword:00000000

  • Disable System Restore (Windows XP and Windows Server 2003 Only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sr]
    "Start"=dword:00000004
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\srservice]
    "Start"=dword:0000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore]
    "DisableSR"=dword:00000001

  • Disable Last Access Time Stamp
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
    "NtfsDisableLastAccessUpdate"=dword:00000001

  • Disable Hibernate
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]
    Various keys and values are set according to the version of Windows detected.

  • Disable CrashDump
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
    "CrashDumpEnabled"=dword:00000000
    "LogEvent"=dword:00000000
    "SendAlert"=dword:00000000

  • Disable Indexing Service
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cisvc]
    "Start"=dword:00000004

  • Reduce Event Log File Size to 64 kb
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\
    Application]
    “MaxSize"=dword:00010000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\
    Security]
    "MaxSize"=dword:00010000
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\
    System]
    "MaxSize"=dword:00010000

  • Reduce Internet Explorer Temporary File Cache
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content]
    "CacheLimit"=dword:00000400 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content]
    "CacheLimit"=dword:00000400 [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content]
    "CacheLimit"=dword:00000400
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Internet Settings\Cache\Paths]
    "Paths"=dword:00000004
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Internet Settings\Cache\Paths\path1]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Internet Settings\Cache\Paths\path2]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Internet Settings\Cache\Paths\path3]
    "CacheLimit"=dword:00000100
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Internet Settings\Cache\Paths\path4]
    "CacheLimit"=dword:00000100

  • Disable Clear Page File at Shutdown
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
    "ClearPageFileAtShutdown"=dword:00000000

  • Disable Superfetch (Windows Vista and Windows 7 Only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysMain]
    "Start"=dword:00000004

  • Disable Windows Defender (Windows Vista and Windows 7 Only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend]
    "Start"=dword:00000004
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Run]
    "Windows Defender"=hex(2):00

  • Disable Windows Search (Windows Vista and Windows 7 Only)
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSearch]
    "Start"=dword:00000004

  • Disable Scheduled Disk Defragmentation (Windows Vista and Windows 7 Only)
    Programmatic optimization.

Additional Optimizations Available When Running the Tool Manually

  • Disable Move to Recycle Bin (Windows XP)
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
    Explorer\BitBucket]
    “UseGlobalSettings"=dword:00000001
    "NukeOnDelete"=dword:00000001

  • Disable Move to Recycle Bin (Windows Vista and Windows 7)
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
    "NoRecycleFiles"=dword:00000001

  • Disable Machine Account Password Changes
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\
    Parameters]
    "DisablePasswordChange"=dword:00000001

  • Disable UDP Checksum Offload (Only When a Broadcom NIC Is Detected)
    Programmatic optimization.

Environment

Caution! Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Issue/Introduction

This article describes how to optimize XenDesktop Machines.