Unable to Start the Specops Deploy Server service

Sometimes when the Specops Deploy Server Service attempts to start you receive an error saying the service is unable to start.  The details of the event log error message are as follows

====
Critical error when starting the service.
Exception is ‘System.InvalidOperationException: Custom counters file view is out of memory.
at System.Diagnostics.SharedPerformanceCounter.CalculateMemory(Int32 oldOffset, Int32 totalSize, Int32& alignmentAdjustment)
at System.Diagnostics.SharedPerformanceCounter.CreateInstance(CategoryEntry* categoryPointer, Int32 instanceNameHashCode, String instanceName, PerformanceCounterInstanceLifetime lifetime)
at System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName, String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime lifetime)
at System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String counterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)
at System.Diagnostics.PerformanceCounter.Initialize()
at System.Diagnostics.PerformanceCounter..ctor(String categoryName, String counterName, String instanceName, Boolean readOnly)
at SpecopsSoft.SpecopsDeploy.Server.ServerPerformanceCounters.SetInstanceValue(Guid instanceName, Int32 instanceValue, DeploymentOperationClientState clientStateToSet)
at SpecopsSoft.SpecopsDeploy.Server.SpecopsDeployServer.SynchronizePerformanceCounters()
at SpecopsSoft.SpecopsDeploy.Server.SpecopsDeployServer.Initialize()
at Specopssoft.GroupPolicy.GpExtensionServerBase.Start()
at SpecopsSoft.SpecopsDeploy.Server.SpecopsDeployService.OnStart(String[] args)’
====

This error can be caused when .Net hits the cap for the amount of memory it is allowed to allocate to performance counters.

Make the following configuration change on the Specops Deploy Server to increase the amount of memory available for this purpose:

Add the below three lines within the configuration section of the machine.config file in:

  • %windir%Microsoft.NETFramework64v2.0.50727CONFIG for x64 based systems
  • %windows%\microsoft.net\Framework\v4.0.xxxx\CONFIG\machine.config

<system.diagnostics> 
<performanceCounters filemappingsize=”1048576″ /> 
</system.diagnostics>
</configuration>  – Existing line do not modify

You can set the value as high as 33554432 and the default is 524288. The value represents the maximum amount of memory that the performance counters can use.  Save the file to your desktop as machine.config then manually copy of the existing file in the appropriate folder.

Reboot the Specops Deploy Server in order to apply the change correctly.

(Last updated on October 30, 2023)

Tags: ,

Back to Blog