About 64-bit geoprocessing
If you run ArcGIS geoprocessing tools in a 64 bit mode, they can access more random-access memory than if run in 32-bit. The biggest advantage is with the performance of overlay tools, which perform better with more physical memory – and may be able complete very large overlays that fail in 32-bit.
This capability exists in ArcGIS Server 10.1 and later, and is included as an optional install ("background 64 bit geoprocessing") for ArcGIS Desktop 10.1 and later. ArcGIS Pro includes uses x64 Python 3.4.
The ArcGIS Desktop applications (and "foreground" geoprocessing) still run in 32-bit (largely because they include many Win32 components, especially user interface objects, that have not been ported to x64), so they cannot directly "talk" to 64-bit Python. To get around this, Esri has developed a package that includes a full install of 64 bit Python, arcpy, and ArcGIS "hooks" to run ArcGIS Desktop background geoprocessing within a 64-bit environment.
Esri is rolling out a new, native 64-bit desktop application ("ArcGIS Pro"). Tools and models built in Desktop 10x will run from this application unmodified (using 64-bit geoprocessing). In ArcGIS Pro, in a way, all tools are run in "x64 background processing" -- as it is a native 64-bit, multi-threaded application.
- The 64-bit geoprocessing framework does not support data types that rely on 32-bit ODBC connections. This includes direct access by pathname to data in .xls and .xls workbooks, Microsoft Access files (.mdb) and personal geodatabases (.mdb).
- ArcGIS Pro's arcpy cannot access data types that ArcGIS Pro does not support (which includes those listed above as well as others such as coverages, INFO tables, and raster catalogs).
- Some tools (notably the Conversion toolbox's metadata tools (which use some x32 software for XML parsing) and the Coverage Toolbox (which connect to ArcInfo Workstation using 32-bit .dlls) do not work in 64-bit. These tools cannot be used in scripts that may run in 64-bit mode.
- The Calculate Field tool fails when you use the (default) VBScript parser in x64. The error message is: "ERROR 000989: Tool CalculateField cannot use VB expressions for service". Use the "PYTHON" or "PYTHON_9.3" parser so your script will run in x64.
- The default setups for IDLE and standalone Python scripts are likely to use the 64-bit python as that was likely the last version installed and the Windows file associations are set.
- To run a script in 32-bit python, you can set the Python executable when launching the script.
Replace the path "ArcGIS10.1" with the "dot" version of ArcGIS installed (e.g. ArcGIS10.4)
- If you have installed 64 bit python, the shortcut "IDLE (Python GUI)" will run 64-bit python. To run 32-bit Python (and avoid the limitations described above):
- Search for "IDLE" in your windows search box
- Right click "IDLE (Python GUID)"
- Select "Send to... Desktop (create shortcut)"
- Go to your Desktop, find the shortcut, right click / Properties
- Change the title to "IDLE-32"
- Edit the startup command:
Installing Desktop Background 64-bit Geoprocessing
- The installer is being distributed within USGS in the EGIS packages for 10.1 and later. The package includes a Setup.exe you can run, and a Setup.msi that can be used for deployment.
- The install script created by the USGS-EGIS-distributed script "CreateArcInstallScript.bat" will, by default, install 64-bit geoprocessing if run on a 64-bit Windows machine.
Verifying the x64 GP
- If the install was successful, you'll see these folders (10.1 = 10.1, 10.2, 10.3, etc)
- You'll also see "ArcGIS Desktop 10.x Background Geoprocessing (64-bit)" listed in the Control Panel Programs and Features
- Neither ArcGIS Python package is listed in Programs and Features (as they are part of the ArcGIS Desktop and X64GP install packages).
- Download and unzip GeoprocessingTestTools.zip
- Enable background processing, (ArcMap-ArcCatalog/Geoprocessing/Geoprocessing Options...)
- Run the test tool (with a double-click).
- To see the results of the test, view the messages in the Results window (Geoprocessing/Results)
ArcGIS Blog: Announcing 64-bit processing! (10/31/2012)
ArcGIS Blog: Python scripting with 64-bit processing (11/12/2012)
ArcGIS Blog: 64-bit vs 32-bit Python explained (07/29/2013)
ArcGIS Desktop Help: Background Geoprocessing (64-bit) | Writing Python Scripts | Python Migration for ArcGIS Pro
Esri KB 31903: FAQ: Does ArcGIS 10 support multi-core processors and/or 64-bit Operating Systems?
Esri UC 2013 Q&A: When will ArcGIS for Desktop be able to take full advantage of 64-bit processing capabilities?