Error messages:
Option #1:
WARN Counter category '.net CLR Memory' does not exist on this server. Using temporary internal counter for 'XXX'.
ERROR Instance Name is not available
Exception: System.InvalidOperationException
Message: Category does not exist.
Source: System
at System.Diagnostics.PerformanceCounterLib.GetCategorySample(String machine, String category)
at System.Diagnostics.PerformanceCounterCategory.GetCounterInstances(String categoryName, String machineName)
at Sitecore.Diagnostics.PerformanceCounters.PerformanceCounter.GetInstanceName(String categoryName, String counterName)
at Sitecore.Diagnostics.PerformanceCounters.PerformanceCounter.get_InstanceName()
Option #2:
WARN Cannot resolve Instance name for the counter. Category: .net CLR Memory, Counter name: XXX
ERROR Exception in alarm clock event subscriber.
Exception: Sitecore.Diagnostics.PerformanceCounters.InstanceNameIsNotAvailableException
Message: Exception of type 'Sitecore.Diagnostics.PerformanceCounters.InstanceNameIsNotAvailableException' was thrown.
Source: Sitecore.Kernel
at Sitecore.Diagnostics.PerformanceCounters.PerformanceCounter.get_InstanceName()
at Sitecore.Pipelines.HealthMonitor.HealthMonitor.LogCounterStatus(PipelineArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Services.AlarmClock.Heartbeat_Beat(Object sender, EventArgs e)
Option #3:
WARN Cannot resolve Instance name for the counter. Category: .net CLR Memory, Counter name: XXX
ERROR Instance Name is not available
Exception: Sitecore.Diagnostics.PerformanceCounters.InstanceNameIsNotAvailableException
Message: Exception of type 'Sitecore.Diagnostics.PerformanceCounters.InstanceNameIsNotAvailableException' was thrown.
Source: Sitecore.Kernel at Sitecore.Diagnostics.PerformanceCounters.PerformanceCounter.get_InstanceName()
Option #4 (for Sitecore 6.6.0 Update-5 and later):
WARN Counter 'XXX' does not exist on this server.
or
WARN Counter category 'YYY' does not exist on this server.
Possible solution:
It is possible that .NET performance counters are not loaded correctly, so try to reload them:
- Start an administrator command prompt.
- Run unlodctr .NETFramework.
- Run lodctr %WINDIR%\Microsoft.NET\Framework\<Framework_ver>\CORPerfMonSymbols.ini
where <Framework_ver> is the directory of the .NET Framework version which contains the CORPerfMonSymbols.ini file. It should be either v4.0.xxx or v2.0.xxx if 4.0 is not installed.
- Restart IIS.