How to Disable Optimization of Applications in XenApp

How to Disable Optimization of Applications in XenApp

book

Article ID: CTX136287

calendar_today

Updated On:

Description

The virtual memory optimisation feature was added in Presentation Server 4.0, and is present in all versions of XenApp including XenApp 6.5.

Virtual memory optimization is enabled in Enterprise and Platinum editions of XenApp. Most DLLs can be optimized using this feature; however there are some DLLs that are not compatible and need to be excluded from optimization.

Instructions

To disable the optimization of a specific DLL, first the DLLs must be excluded from future optimization processes and then all existing optimizations must be removed. Complete the following procedure to exclude applications and DLLs from future optimization:

Presentation Server 4.0:

  1. Right-click on the Farm and choose Properties

  1. Select Memory Optimization.

    User-added image

Presentation Server 4.5/XenApp 5 (2003):

User-added image

In XenApp 6.0 and 6.5 memory optimization is controlled by policy:

User-added image

Changes made to AppCenter or Delivery Services Console are reflected in the following registry:
HKEY_LOCAL_MACHINE\ SOFTWARE\ Citrix\ SFO <ComponentExclusionList> or <ProcessExclusionList>.

Note: DLL files added to the exclusion list using Citrix Management Console > Farm Properties > Memory Optimization are added to the ProcessExclusionList in the registry, but not the ComponentExclusionList. Therefore, the file is not excluded from memory optimization. Manually add the DLLs to the ComponentExclusionList in the registry. Citrix might address this issue in a future release.

Note: When defining DLL files to be excluded from optimization in the registry, please add the 8.3 filename as well as the standard filename. Citrix Technical Support has observed in rare circumstances that DLLs continue to be optimized because the optimization engine returns the 8.3 filename rather than the standard filename. For example, a DLL named redemption.dll should also be added to the registry key as redemp~1.dll.

Removing already-optimized DLLs

To remove existing optimizations on Windows 2003 or 2008, tool ADSCleaner 2.0 was used which has been archived now. ADSCleaner.exe was a GUI utility that lists and optionally deletes alternative data streams created by Citrix memory optimization code.

NOTE: The ADSCleaner utility must not be used in Windows 2008 R2 servers. The utility might modify some Windows related DLLs causing some applications to crash or hang. Running a repair or reinstalling the affected applications might also help mitigating performance issues associated with those applications, after running the utility.

Alternatively you can Streams.exe https://docs.microsoft.com/en-us/sysinternals/downloads/streams from SysInternals and run it against your server in recursive mode to first see if there are any executables/dlls with any alternate data streams other than those added by Citrix.Then you can run streams -d to delete those streams

 

    Issue/Introduction

    This document describes how to disable the optimization of individual DLLs by the virtual memory optimization feature in XenApp.

    Additional Information

    CTX106023 - FAQ - Virtual Memory Optimization Feature