Event ID 106 errors after you install an Exchange Server 2013 cumulative update: Performance counter updating error

Original KB number:  2870416

Symptoms

After you install the Microsoft Exchange Server 2013 Client Access server role on a new server and then restart the server, you receive many Event ID 106 errors in the Application log. For example, you may receive the following error message:

ID: 106
Level: Error
Source: MSExchange Common
Machine: -
Message: Performance counter updating error. Counter name is Per-Tenant KeyToRemoveBudgets Cache Size, category name is MSExchangeRemotePowershell. Optional code: 3. Exception: The exception thrown is: System.InvalidOperationException: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.\

When you check the Exchange Setup log (ExchangeSetup.log), you see the following information:

[WARNING] The performance counter definition file C:\Program Files\Microsoft\Exchange Server\V15\Bin\Perf\AMD64\GlsPerformanceCounters.xml could not be found.

Cause

This issue occurs because the performance counters can't be loaded.

Resolution

Note

Although the following method resolves the issue, event ID 106 from MSExchange Common will never truly be eliminated from on-premises deployments because some counters are datacenter-only.

To resolve this issue, manually load the missing counters. To do this, follow these steps:

  1. Close Performance Monitor, and then stop any other monitoring services that might be trying to use the missing counters.

  2. In Exchange Management Shell, type the following command, and then press Enter:

    Add-Pssnapin Microsoft.Exchange.Management.PowerShell.Setup
    
  3. Run New-PerfCounters to add the performance counters. For example, if you want to load the performance counters that are defined in GlsPerformanceCounters.xml, run the following cmdlet:

    New-PerfCounters -definitionfilename "C:\Program Files\Microsoft\Exchange Server\V15\Setup\Perf\GlsPerformanceCounters.xml"