Unable to publish new or start existing services when a large number of ArcSOC.exe processes are running
Note: This article is only applicable for Windows environments.When a large number of web service instances are running on an ArcGIS for Server machine (e.g., about 200 or more) in a Windows environment, the ArcGIS Server may fail to publish new or start existing services. The existing hardware resources appear adequate to support instantiating additional service instances including having enough physical and virtual memory available.
ArcGIS for Server logs indicate the following:
- Failed to initialize server object
- Failed to construct instance of service
- Internal Server Error. Error handling service request
In certain Windows environments after a high number of concurrent processes has been reached, the non-interactive desktop heap size may have been exhausted and causing the issues above on ArcGIS Server workflows.
Solution or Workaround
In Windows, it is possible to increase the non-interactive desktop heap size in order to ensure that a sufficient number of processes can be created and run concurrently.
Warning: Do not proceed with these instructions unless you are confident that desktop heap exhaustion is the cause of the problems starting or publishing services. The instructions below include making changes to essential parts of the operating system. It is recommended to back up the operating system and files, including the registry, or create a snapshot of the virtual machine before proceeding. Consult with a qualified computer systems professional, if necessary. Esri cannot guarantee results from incorrect modifications while following these instructions; therefore, use caution and proceed at your own risk.
- Start the Windows Registry Editor: click Start > Run, type regedit and click OK.
- Navigate to HKEY_Local_Machine > SYSTEM > CurrentControlSet > Control > Session Manager > Subsystems.
- Within the Windows string value, there is a SharedSection parameter that, by default, should read SharedSection=1024,20480,768. The last number represents non-interactive desktop heap that should be increased, for example from 768 to be 1024. Make sure that the entirety of the key value is preserved and only that one part is to be modified.
- Reboot Windows.
Warning: Increasing the non-interactive desktop heap size can cause issues leading to Windows failing to boot. It is strongly recommended to maintain a proper backup and to increase the non-interactive heap in small increments (e.g., 256K) and test after each iteration.