Function of the Local Host Cache

  • CTX759510
  • Created onMar 26, 2014
  • Updated onMay 02, 2014
Article Topic Configuration, Interoperability


This article contains information on function of the Local Host Cache, refreshing, and recreating the LHC.

Each XenApp server stores a subset of the data store in the Local Host Cache (LHC). The LHC performs two primary functions:

  • Permits a server to function in the absence of a connection to the data store.

  • Improves performance by caching information used by ICA Clients for enumeration and application resolution.

The LHC is an Access database, Imalhc.mdb, stored, by default, in the <ProgramFiles>\Citrix\Independent Management Architecture folder. 
The following information is contained in the local host cache:

  • All servers in the farm, and their basic information.

  • All applications published within the farm and their properties.

  • All Windows network domain trust relationships within the farm.

  • All information specific to itself. (Product code, SNMP settings, licensing information)

On the first startup of the member server, the LHC is populated with a subset of information from the data store. In future, the IMA service is responsible for keeping the LHC synchronized with the data store. The IMA service performs this task through change notifications and periodic polling of the data store.

If the data store is unreachable, the LHC contains enough information about the farm to allow normal operations for an indefinite period of time, if necessary. However, no new static information can be published, or added to the farm, until the farm data store is reachable and operational again.

Note: Prior to the release of Presentation Server 3.0, the LHC had a grace period of only 96 hours; this was due to farm licensing information being kept on the data store. Once the 96 hour grace period ended, the licensing subsystem would fail to verify licensing, and the server would stop accepting incoming connections.

Because the LHC holds a copy of the published applications and Windows domain trust relationships, ICA Client application enumeration requests can be resolved locally by the LHC. This provides a faster response to the ICA Client for application enumerations as the local server does not have to contact other member servers or the zone data collector. The member server must still contact the zone data collector for load management resolutions.

In some instances it might be necessary to either refresh or recreate the Local Host Cache. The sections below describe these situations.

Refreshing the Local Host Cache

If the IMA service is currently running, but published applications do not appear correctly in ICA Client application browsing, force a manual refresh of the local host cache by executing dsmaint refreshlhc from a command prompt on the affected server. This action forces the local host cache to read all changes immediately from the data store.

A discrepancy in the local host cache occurs only if the IMA service on a server misses a change event and is not synchronized correctly with the data store.

Recreating the Local Host Cache

  • If the IMA service does not start, the cause may be a corrupt LHC.

  • If you have made extensive changes to the farm data store, such as publishing various applications, adding or removing servers from the farm, or creating new policies.

  • If you must clean the farm data store, using the DSCHECK utility, you should then rebuild the LHC on each of the servers in your farm, once the data store has been cleaned.

Steps to Recreate the Local Host Cache

Important! The data store server must be available for dsmaint recreatelhc to work. If the data store is not available, the IMA service cannot start.
Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.

  1. Stop the IMA service on the XenApp server, if it is started. This can be done using the command: net stop imaservice, or from services.

  2. Run dsmaint recreatelhc, which renames the existing LHC database, creates a new database, and modifies the following registry key HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\Runtime\PSRequired key to 1.
    Setting the value PSRequired to 1 forces the server to establish communication with the data store in order to populate the Local Host Cache database. When the IMA service is restarted, the LHC is recreated with the current data from the data store.

  3. Restart the IMA service. This can be done via the command line, net start imaservice, or from services.

Note: For XenApp 6 or later the registry key path is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\IMA\ RUNTIME\PSRequired to 1.
There is also an available built-in utility to check the Local Host Cache called LHCTestACLsUtil.exe file located in C:\Program Files (x86)\Citrix\System32 of the XenApp server. To run this utility, you must have local administrator privileges.

Additional Information

CTX133983 - Citrix IMA HELPER TOOL


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.

Automatic translation

Important: This article was translated by an automatic translation system (also referred to as Machine Translation, or MT) and has not been translated or reviewed by people. Citrix offers a machine translated version of this article to allow for greater access to the support content. However, automatic translation is not always perfect and may contain errors of vocabulary, syntax or grammar. Citrix is not responsible for inconsistencies, errors or damage incurred as a result of the use of MT articles from our customers.Thank you.
Click here to see the English version of this article.
Was this helpful?
Thank you for your feedback

Share your comments or find out more about this topic

Citrix Forums