Case Study: Troubleshooting Citrix MetaFrame Performance Counter Issues

Overview

Citrix MetaFrame Performance Monitor Counters are not only important to monitor a MetaFrame server farm’s health, but they are vital for functionality, such as in the case with Resource Manager or Load Balancing.

Citrix MetaFrame installs the following three Performance Monitor objects:

  • Counters Citrix IMA Networking
  • Citrix MetaFrame Presentation Server
  • ICA Sessions
  • counters under these objects are located under the following registry key for an English server:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09
Counter REG_MULTI_SZ
Help REG_MULTI_SZ

The values for the counters originate from the following registry keys:

Citrix MetaFrame Presentation Server = HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMetaframeXPPeformance
Library = mfxpperf.dll

ICA Sessions =
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCitrixICAPeformance
Library = icaperf.dll

IMA Networking =
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIMAServicePeformance
Library = imaperf.dll

The Library value indicates the DLL that communicates with Performance Monitor Counter values. Applications can retrieve values by calling registry interfaces (HKEY_PERFORMANCE_DATA) or by using Microsoft’s Performance Data Helper API functions.

Note: Refer to the Additional Information section for more information.

Environment

  • Citrix MetaFrame XP 1.0
  • Citrix MetaFrame Presentation Server 3.0
  • Windows 2000 / Windows 2003

Problem Definition

Citrix Performance Monitor object “Citrix MetaFrame Presentation Server” is not visible in an ICA or RDP session.

Troubleshooting Methodology

A test was conducted by running the Performance Monitor from the console which showed all counters were visible. When connecting with RDP or ICA, Citrix MetaFrame Presentation Server was not visible.

Sample app PDHXP using PDH API calls exhibited the same results.

Note: PDHXP is available from Citrix Technical Support.

Resolution

The Mfxpperf.dll had an issue when it did not register itself globally. This has been resolved in a post MetaFrame Presentation Server 3.0 Hotfix Rollup Pack or in Citrix Presentation Server 4.0.

Problem Definition

Citrix Performance Monitor objects have corrupted counters or are missing completely from the console session.

Troubleshooting Methodology

Verify Citrix Performance Monitor objects are not available from the Performance Monitor on the console.

Verify the counters have not been disabled with Exctrlst.exe (see Microsoft article 248993 – PRB: Performance Object Is Not Displayed in Performance Monitor.)

Resolution

This may have been caused by a third-party application improperly altering performance counters in the registry.

This example is written for the Danish-language, but the Country code can be changed to anything may have on the system:

Caution! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that may 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.

  1. Make a Backup of the registry-Hives:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCitrix ICAPerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIMAServicePerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMetaFrameXPPerformance

  1. Make sure, that in regedt32 (regedit.exe will not show anything), the key HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09 exists and also two MULTI_SZ has Counter and Help.
  2. Danish should have a language code of 006.
  3. Delete all keys:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCitrix ICAPerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIMAServicePerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMetaFrameXPPerformance

    Note: Just delete the Performance-Key and all values will be deleted as well.

  1. Run the Icaperf.exe tool.

    Note: IcaPerf.exe is available from Citrix Technical Support.

    Information: This should reinitialize the performance-counter dlls with the operating system.

  1. Start performance monitor and check the availability of the counters.
  2. Verify that all counters are added, copy the two values Help and Counter from:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09

    into the Danish one:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib06

    You need to use regedt32 for this operation. Make sure, that you create the Values as MULTI_SZ and copy and paste the actual content from 009 in 006.

How to repair performance monitor counters on an English-only server

Caution! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that may 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.

  1. Make a Backup of the registry-Hives:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCitrix ICAPerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIMAServicePerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMetaFrameXPPerformance

  1. Make sure, that in regedt32 (regedit.exe will not show anything), the key HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib09 exists and also two MULTI_SZ has Counter and Help.
  2. Delete all keys:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCitrix ICAPerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIMAServicePerformance
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMetaFrameXPPerformance

    Note: Just delete the Performance Key and all values will be deleted as well.

  1. Run the Icaperf.exe tool.

    Note: IcaPerf.exe is available from Citrix Technical Support.

    Information: This should reinitialize the performance-counter dlls with the operating system.

  1. Start the performance monitor and check the availability of the counters.

Additional Information

This document applies to:

Source: Case Study: Troubleshooting Citrix MetaFrame Performance Counter Issues

Leave a Reply

Your email address will not be published. Required fields are marked *