

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 由于容量问题，作业停留在 “可运行” 状态
<a name="job_stuck_in_runnable_capacity"></a>

**实例容量不足**  
所有连接的计算环境都存在容量不足错误。在收到请求时， AWS Batch 会检测出现容量不足错误的 Amazon EC2 实例。手动取消任务将允许后续任务移至队列的开头。  
+ **作业卡住时的 `statusReason` 消息：**`CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY - Service cannot fulfill the capacity requested for instance type [instanceTypeName]`
+ **用于 `jobStateTimeLimitActions` 的 `reason`：**`CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`
+ **`statusReason`取消任务后的消息`jobStateTimeLimitActions`：**`Canceled by JobStateTimeLimit action due to reason: CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`

**注意：**

1.  AWS Batch 服务角色需要`autoscaling:DescribeScalingActivities`权限才能使此检测生效。如果您使用 [将服务相关角色用于 AWS Batch](using-service-linked-roles.md) 服务相关角色（SLR）或 [AWS 托管策略：**AWSBatchServiceRole** policy](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSBatchServiceRolePolicy) 托管式策略，则无需执行任何操作，因为其权限策略已更新。

1. 如果您使用 SLR 或托管策略，则必须添加 `autoscaling:DescribeScalingActivities` 和 `ec2:DescribeSpotFleetRequestHistory` 权限，以便在处于 `RUNNABLE` 时可以接收已阻止的作业队列事件和更新的作业状态。此外， AWS Batch 需要这些权限才能通过 `jobStateTimeLimitActions` 参数执行 `cancellation` 操作，即使它们在作业队列中进行了配置。

1. 对于多节点并行（MNP）作业，如果附加的高优先级 Amazon EC2 计算环境遇到 `insufficient capacity` 错误，即使优先级较低的计算环境确实遇到此错误，它也会阻止队列。