本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
追蹤運算任務容量使用率
AWS Batch 提供多個 API 操作,您可以一起用來追蹤佇列中 ECS、EKS 和 Fargate 運算任務的容量使用率。監控工作流程取決於連接到任務佇列的排程政策類型。
對於使用先進先出 (FIFO) 排程政策的任務佇列:
-
檢查總佇列使用率 (
GetJobQueueSnapshot)。 -
依狀態列出任務,例如
RUNNABLE和RUNNING(ListJobs)。 -
檢查任何指定的任務 (
DescribeJobs)。
對於使用公平共用 (FSS) 排程政策的任務佇列:
-
檢查總佇列使用率 (
GetJobQueueSnapshot)。 -
檢視每個共用使用率 (
GetJobQueueSnapshot)。 -
依狀態列出主動影響使用率的任務和共用,例如
RUNNABLE和RUNNING(ListJobs)。 -
檢查任何指定的任務 (
DescribeJobs)。
以下各節會詳細說明每個步驟。
如需追蹤服務任務容量使用率的資訊,請參閱 追蹤服務任務容量使用率。
檢查佇列使用率
GetJobQueueSnapshot 回應中的 queueUtilization 欄位提供point-in-time檢視。容量是以運算任務vCPUs 測量。
對於使用公平共用排程政策的任務佇列,回應也包含每個共用明細,以便您可以查看容量如何分散在共用中。如需詳細資訊,請參閱檢視每個共用使用率。
檢視容量使用率 (AWS CLI)
使用 get-job-queue-snapshot 命令擷取任務佇列容量使用率的快照。
aws batch get-job-queue-snapshot \ --job-queuemy-job-queue
回應會根據連接至任務佇列的排程政策而有所不同。選擇排程政策類型的索引標籤,以查看範例回應。
檢視每個共用使用率
對於具有公平共用排程政策的任務佇列, 的queueUtilization回應GetJobQueueSnapshot包含具有陣列的fairshareUtilization物件,該topCapacityUtilization陣列會依耗用量列出最佳作用中共用。
此資訊可協助您:
-
識別哪些共用耗用最多資源。
-
驗證公平共用排程是否如預期分配資源。
-
偵測可能飽和或充分利用其配置的共用。
-
決定是否在排程政策中調整共享權重。
如需公平共用排程政策的詳細資訊,請參閱 公平共用排程政策。
依狀態和共用列出運算任務
在您識別整體佇列和每個共用使用率之後,請使用 ListJobs API 操作來尋找主動貢獻使用率的運算任務。您可以依任務狀態進行篩選,以查看處於其他狀態的 RUNNING、 RUNNABLE或 任務。對於具有公平共用排程政策的佇列,您也可以依共用識別符進行篩選,將結果縮小至特定共用。
注意
SHARE_IDENTIFIER 篩選條件是唯一可與 jobStatus 參數結合的篩選條件。當您使用其他篩選條件時,會忽略 jobStatus 參數。
列出運算任務 (AWS CLI)
使用 list-jobs 命令搭配 --job-status 參數來依狀態篩選。
檢視佇列中正在執行的運算任務:
aws batch list-jobs \ --job-queuemy-job-queue\ --job-status RUNNING
檢視等待分派的運算任務:
aws batch list-jobs \ --job-queuemy-job-queue\ --job-status RUNNABLE
對於具有公平共用排程政策的佇列,請使用 --filters 參數搭配 SHARE_IDENTIFIER 列出特定共用的任務。當您識別具有高容量耗用量的共享,並想要查看哪些任務負責時,這很有用。
僅列出公平共用佇列中共用的RUNNING運算任務:
aws batch list-jobs \ --job-queuemy-job-queue\ --job-status RUNNING \ --filters name=SHARE_IDENTIFIER,values="team-a"
以下是列出執行中運算任務的範例回應。
{ "jobSummaryList": [ { "jobArn": "arn:aws:batch:us-east-1:123456789012:job/b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobId": "b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobName": "my-data-processing-job", "status": "RUNNING", "shareIdentifier": "team-a", "createdAt": 1700000000000, "startedAt": 1700000120000, "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 4.0 } ], "container": { "exitCode": null }, "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/my-job-def:1" } ] }
檢查特定運算任務
識別感興趣的運算任務之後,請使用 DescribeJobs操作來取得任務的完整資訊,包括其目前狀態、容器詳細資訊和資源組態。
檢視特定運算任務的詳細資訊:
aws batch describe-jobs \ --jobsb5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f
此命令會傳回任務的完整資訊,包括:
-
任務 ARN 和目前狀態
-
容器組態和資源需求 (vCPUs和記憶體)
-
任務定義和運算環境詳細資訊
-
排程優先順序和重試組態
-
包含開始和停止時間的詳細嘗試資訊
-
存取容器日誌的日誌串流資訊