支持并行处理因子环境的工具将跨多个进程分隔并执行操作。
许多现代计算机包含多核 CPU。 跨多个进程展开地理处理操作可以利用多核优势提高性能。 并行处理的性能优势因工具的不同而不同。
用法说明
- 环境值决定了工具操作时所跨逻辑进程的数量。 这些逻辑进程将在计算机中的核心硬件之间进行分隔。 核心硬件的数量不随该设置的改变而改变。
- 支持该环境的各工具均已根据特定计算机给出了逻辑进程数量的内置默认值。 您可基于数据、操作和可用资源对其进行更改。
- 如果您指定一个百分比值(用符号 % 代表),则所用的进程数量将取计算机核数量的指定百分数(取最近的整数)。 例如,在四核计算机上,设置 50% 意味着此操作将跨 2 个进程中 (50% * 4 = 2),设置 66% 意味着此操作将跨 3 个进程中(66% * 4 = 2.64,四舍五入到 3),设置 100% 意味着此操作将跨所有 4 个进程中 (100% * 4 = 4)。
- 使用 SQL Server Express 数据库进行地理处理时,您需要将并行过程的数量限制为两个。
SQL Server Express 允许一次最多建立三个连接。 每个处理中的 CPU 都需要连接到服务器。 此外,运行工具的软件(如 ArcGIS Desktop)也将计作一个连接进程,因此,仅剩下两个工作人员连接进程用于并行处理。
- 指定的进程数量大于计算机所具有的核数量,可能导致性能损失。 这是因为多进程将在一个核上争夺资源。 要将环境指定为避免此类竞争,可以使用小于 100% 的百分数值或小于计算机内核数的进程数。
然而,当所有进程均是对磁盘或企业级数据库连接的 I/O bound 时,您可通过指定多于核数量的进程以提高性能。 例如将镶嵌数据集储存到企业级数据库时,添加栅格至镶嵌数据集工具是 I/O bound。 同样,构建概视图工具对磁盘的主要的 I/O bound。 可通过指定大于 100% 的百分比或大于计算机内核数的进程数,使用比计算机具有的内核数更多的进程数。 例如,对于四核计算机,指定 8 或 200% 时,会使操作跨 8 个进程。
- 后台地理处理(64 位) 中不支持“并行处理因子”环境。
对话框语法
并行处理因子 - 工具进行操作所跨进程数量。
- 空 - 让各工具决定使用进程的数量。 这是默认设置。
- 0 - 不跨多个进程进行操作。
- n - 使用指定的进程数量。
- n% - 使用指定百分比计算进程数量:进程数量 = 系统核数量 * n / 100。
脚本语法
arcpy.env.parallelProcessingFactor = string
参数 | 说明 |
---|---|
空字符串(空) | 让各工具决定使用进程的数量。这是默认设置。 |
0 | 不跨多个进程进行操作。 |
n | 使用指定的进程数量。 |
n% | 使用指定百分比计算进程数量:进程数量 = 系统核数量 * n / 100。 |
脚本示例
import arcpy
# Use half of the cores on the machine
arcpy.env.parallelProcessingFactor = "50%"