Problem: The number of ArcSOC instances causes ArcGIS for Server performance issues


The number of ArcSOC.exe instances can consume high memory (RAM) resources, causing ArcGIS for Server performance issues.

image of Task Manager - Performance tab


The problem occurs when a number of instances are running on a single host machine, thereby exceeding available memory limits, consuming excessive resources, and leading to an unstable service environment. ArcGIS for Server is tuned for optimal performance without additional configuration. Even when the system is idle, it is set for a large volume of requests. When the system is put under load, the memory usage grows to accommodate the high performance functions being handled. One ArcSOC.exe process and every running instance creates two ArcSOC.exe processes. For example, one geoprocessing service with three running instances generates seven ArcSOC.exe processes.

Solution or Workaround

As a general rule of thumb, for a steady performance, set the minimum number of instances to 'MinInstances = 0' for rarely used services. This reserves memory and capacity space for other active map and geoprocessing services. For services that are highly consumed by users, set the maximum number of instances to 'MaxInstances = n+1' ('n' being the number of cores of the host machine). Refer to the following ArcGIS Help documentation for additional information on ArcGIS for Server performance optimization: Tune and configure services.

The following steps describe how to specify the number of instances of ArcSOC.exe processes in ArcGIS Server Manager.

  1. Log in to ArcGIS Server Manager with an administrative account.
  2. Under Site(root) > System, click the service to be modified.
  3. Click Pooling, and modify the Minimum number of Instances per machine to 0.
  4. Click Save and Restart.
The MinInstances property must be less than the MaxInstances property.

Related Information