English

Error: Out of Memory" error occurs during Solve on a Service Area network analysis layer

Error Message

When solving for a Service Area network analysis layer, the following error message occurs:

"Error: Out of Memory"

Cause

The analysis is unable to complete due to a lack of necessary memory resources on the client machine. This is often the case for large network analysis tasks being performed on large network datasets, such as over 1+ million edges.

For analysis of Service Area problem sets, memory exhaustion can often result from the Service Area solver creating a traversal result that is too large to hold in memory.

Solution or Workaround

The Network Analyst Service Area solver can be made to 'chunk' up the processing behind the scenes, to complete very large analysis tasks using only standard memory configurations.

The 'chunking' sizes for processing can be adjusted for the Service Area solver by setting keys within the registry to fit your particular machine configuration. The following steps outline how to adjust these registry keys for the Service Area solver.

Note:
These keys are not in the registry by default. They may need to be created and set to the appropriate value.
Note:
Chunking is only available for Service Area analysis when generating overlapping polygons and/or lines, respectively. When chunking is enabled, the Service Area solver will no longer be able to create traversal results.
Warning:
The instructions below include making changes to essential parts of your operating system. It is recommended that you backup your operating system and files, including the registry, 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.
  1. Open the Windows Registry Editor by clicking Start > Run. Type regedit and click OK.
  2. Expand the HKEY_CURRENT_USER\Software\ESRI\ key folder.
  3. Click on the NetworkAnalyst folder. If the NetworkAnalyst folder doesn't exist, create it by right-clicking on the ESRI folder and selecting New > Key. Rename the new key folder to NetworkAnalyst.
  4. Click on the ServiceArea folder under the NetworkAnalyst folder. If the ServiceArea folder doesn't exist, create it by right-clicking the NetworkAnalyst folder and selecting New > Key. Rename the new key folder to ServiceArea.
  5. In the ServiceArea folder, click on the value key ForceChunking. If the ForceChunking value key doesn't exist, create it by right-clicking the ServiceArea folder and selecting New > DWORD Value. Rename the newly created value key to ForceChunking. Double-click the ForceChunking value key and modify it as appropriate.
    Note:
    This registry DWORD determines whether or not to apply chunking during solve, even if the solver is supposed to create a traversal result. The default value of this key is 0 to ensure that, if the traversal result is needed, it will be created. To enable chunking for the Service Area solver, change this key to any non-zero value. If you force chunking by setting this key, the traversal result will be incomplete and you will not be able to programatically access it.
  6. In the ServiceArea folder, click on the value key PolygonChunkSize. If the PolygonChunkSize value key doesn't exist, create it by right-clicking the ServiceArea folder and selecting New > DWORD Value. Rename the newly created value key to PolygonChunkSize. Double-click the PolygonChunkSize value key and modify it as appropriate.
    Note:
    This registry DWORD determines the maximum number of Service Area polygons to process at each step of the solve. The default value of this key is 20. By lowering the value of this registry key, this will reduce the overall memory usage per step, but may also increase solve time.
  7. In the ServiceArea folder, click on the value key EdgeChunkSize. If the EdgeChunkSize value key doesn't exist, create it by right-clicking the ServiceArea folder and selecting New > DWORD Value. Rename the newly created value key to EdgeChunkSize. Double-click the EdgeChunkSize value key and modify it as appropriate.
    Note:
    This registry DWORD determines the maximum number of network edges to allow in the traversal result at each step of the solve. The default value of this key is 300,000. By lowering the value of this registry key, this will reduce the overall memory usage per step, but may also increase solve time.