<img alt="" src="https://secure.inventive52intuitive.com/789747.png" style="display:none;">
Improving AppSense performance by excluding Citrix hooks

Improving AppSense performance by excluding Citrix hooks

Posted by HTG

In a lot of situations, AppSense software is installed on Citrix systems. That’s not to say it isn’t used frequently on Remote Desktop Services or standard PCs – in my experience, though, it has mostly cropped up on either XenApp or XenDesktop implementations.

Sometimes the AppSense software I come into contact with appears to be less stable than other deployments. You can occasionally see a range of performance and stability issues, crashes and hangs or other undesirable behaviour. In these situations, users often fail to see the benefits of the software because their overall user experience has been affected, and this isn’t what you want to happen.

Fortunately, you can track a lot of this instability down to various Citrix hooks. The main culprits are generally the Citrix Multi-Monitor hook (mmhook.dll) and the EdgeSight monitoring components. EdgeSight, whilst a great tool, by its very nature has to interact very closely with a lot of the running system processes. If you are experiencing any instability – or even if you aren’t, but just want to optimize your Citrix/AppSense deployment – then the following exclusions should make a lot of difference to the performance of your system.

Exclude the main Citrix hooks by using this process (dependent on Citrix and/or OS version, some of these Registry keys may not be present)

Keys (add the value to all of the keys available)

HKLM\SOFTWARE\Citrix\CtxHook
HKLM\SOFTWARE\Wow6432Node\Citrix\CtxHook64
HKLM\SOFTWARE\Wow6432Node\Citrix\CtxHook

Value : ExcludedImageNames
Type : REG_SZ
Data : AMAgent.exe,Cca.exe,WatchdogAgent.exe,WatchdogAgent64.exe,EMAgent.exe,
EMAgentAssist.exe,EMNotify.exe,EmCoreService.exe,EmExit.exe,EmLoggedOnUser.exe,
EmSystem.exe,EmUser.exe,EmUserLogoff.exe,PmAgent.exe,PmAgentAssist.exe

The following list of processes also needs adding to another Registry key to exclude them from EdgeSight monitoring. Note that the EdgeSight value data (shown below) is delimited by semicolon rather than commas.

Key

HKLM\SYSTEM\CurrentControlSet\Services\rskcore

Value : UviProcessExcludes
Type : REG_SZ
Data : AMAgent.exe;Cca.exe;WatchdogAgent.exe;WatchdogAgent64.exe;EMAgent.exe;
EMAgentAssist.exe;EMNotify.exe;EmCoreService.exe;EmExit.exe;EmLoggedOnUser.exe;
EmSystem.exe;EmUser.exe;EmUserLogoff.exe;PmAgent.exe;PmAgentAssist.exe

A caveat to the EdgeSight exclusions is that by installing Hotfix ES540XA6AgentWX64001 for EdgeSight for XenApp Agents, Version 5.4.7.1, the above UVIProcessExcludes value will be deprecated on the Server. Any value data within UVIProcessExcludes will be migrated to the new UviProcessIsExcluded location (please see Citrix article http://support.citrix.com/article/CTX131261 for more information).

So if the above hotfix is installed, you will need to add the process list to the following Registry key instead:-

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rskcore
Name: UviProcessList
Type: REG_SZ

And set the following Registry value to a DWORD value of 1 to enable it:-

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rskcore

Name: UviProcessIsExcluded
Type: REG_DWORD

 

I find it best to deploy these Registry values either by Group Policy Preferences (shown in the examples above), an AppSense Environment Manager Computer Startup action (if using persistent disks), or by inserting it into your base server image.

A quick note – I originally gleaned these settings from a document provided to me by a Citrix administrator I worked with, however it would seem that the settings and flow of the document they shared with me were shoehorned from an AppSense technote. Apologies if there is any unintentional reproduction here.

Contact

Want to partner with us?

Get in touch to learn more about our services or arrange a free 30-minute consultation with one of our Secure Cloud Experts.

Get in touch
HTG - Contact CTA