全部產品
Search
文件中心

Container Compute Service:在GPU-HPN節點上使用GPU共用調度

更新時間:Dec 09, 2025

ACS支援在GPU-HPN節點上通過GPU共用調度實現將多個Pod運行在同一個GPU裝置上。在GPU獨佔調度情境,Pod只會按整卡粒度申請資源。當某個Pod沒有必要使用整卡的資源時,會造成資源浪費。通過GPU共用調度,您可以為Pod申請更加細粒度的異構資源算力。同時,GPU共用調度支援為Pod配置靈活的requestslimits約束,可以滿足多種應用情境的資源隔離和共用需求。

功能介紹

重要
  • 本文內容僅適用於ACS叢集。

  • GPU共用調度提供了更細粒度的資源描述,支援單Pod按不足一卡的粒度申請資源(如0.5張卡的算力),不支援跨卡彙總申請(如同時申請兩張卡各0.5算力)。

  • GPU共用調度的Pod驅動版本由GPU共用模組維護,不支援Pod單獨指定。

  • 該功能目前在烏蘭察布、上海金融雲公測中,如您在其他地區有需求請提交工單

在使用GPU共用調度時,Pod並不會直接存取具體的GPU裝置,而是通過GPU共用模組與裝置進行互動。GPU共用模組又分為代理和資源管理兩個模組,代理模組預設整合在Pod內,會攔截GPU裝置相關的API,將其轉寄到後端資源模組;資源模組則負責將GPU指令運行在真實的GPU裝置上,並根據Pod的資源描述,對GPU資源的使用進行限制。

此外,GPU共用的資源模組還會佔用一定的CPU和記憶體資源,在功能開啟後會自動預留。更多資訊,請參見節點配置說明

資源配置及QoS

GPU共用資源使用Kubernetes的requests/limits約束來描述資源,支援以百分比的形式分別配置算力和顯存。同時也支援limits大於requests的資源描述形式,因此可能會出現多個Pod同時爭搶GPU資源的情況。ACS定義了GPU共用資源的QoS(服務品質),當節點中有多個Pod同時使用GPU資源時,Pod會排隊並可能觸發搶佔。樣本如下:

...
resources:
  requests:  # 控制節點上可調度的Pod數量
    alibabacloud.com/gpu-core.percentage: 10         # Pod需要使用的算力百分比。
    alibabacloud.com/gpu-memory.percentage: 10       # Pod需要使用的顯存百分比。
  limits:    # 控制運行時可以使用的資源上限,具體效果請參見配置說明。
    alibabacloud.com/gpu-core.percentage: 100        # 算力用量上限
    alibabacloud.com/gpu-memory.percentage: 100      # 顯存用量上限,超用會有CUDA OOM報錯
...

與作業系統的進程管理機制類似,GPU共用模組會將Pod劃分為三種類型,分別為“休眠”、“就緒”、“運行”,各狀態的轉換過程如圖所示。

  • Pod在啟動後首先會被標記為“休眠”狀態。

  • 當Pod嘗試使用GPU資源時,會被標記為“就緒”狀態,GPU共用模組會按一定優先策略為Pod分配GPU資源。

  • 當Pod分配到GPU後,會被標記為“運行”狀態。

  • 若所有資源分派後,仍有Pod處於“就緒”狀態,則會觸發搶佔機制,以保障Pod之間的資源公平性。

  • Pod被搶佔時,佔用GPU資源的進程會被kill,重新回到“休眠”狀態。

排隊策略

處於“就緒”狀態的Pod會按FIFO(First In, First Out. 即先來先服務)策略排隊,GPU共用模組會為最先進入“就緒”狀態的Pod分配資源,若當前資源不足,則觸發搶佔策略。

搶佔策略

當資源無法滿足“就緒”狀態的Pod需求時,GPU共用模組會嘗試搶佔其他Pod。首先從正在啟動並執行Pod中按一定條件做篩選,對於合格Pod打分排序,依次搶佔直至排隊Pod的資源得到滿足。

若當前正在啟動並執行Pod均無法滿足篩選條件,“就緒”狀態中的Pod會持續排隊等待資源,具體如下。

策略類型

說明

篩選策略

當前正在運行Pod已經連續佔用了2個小時的GPU資源,可自訂配置。更多資訊,請參見QoS配置

打分策略

Pod連續佔用的GPU資源時間長度,連續佔用時間更長的Pod優先被搶佔。

資源共用模型

GPU共用調度基於共用模型,支援在一張GPU卡上同時運行多個Pod。目前ACS支援以下共用模型:

模型名稱

使用效果

GPU共用資源配置

排隊策略

搶佔策略

適用情境

share-pool

將節點所有的GPU看作一個共用池(share pool),只要任意物理卡上有空閑資源,pod就可以使用。

requests<=limits

FIFO

允許自訂配置。

Notebook研發情境,結合資源QoS中的request/limit配置,可以支援多人錯峰使用GPU資源,當資源不足時會觸發排隊、搶佔等QoS機制。具體資訊,請參見Notebook情境利用share-pool模式錯峰使用資源案例

static

GPU切分情境,為Pod分配固定的GPU裝置,運行期間不會發生變化。裝置調度時優先將Pod集中在相同GPU,避免片段。

requests==limits

警告

若GPU算力或顯存配置request < limit,會導致pod間資源競爭,甚至因顯存OOM導致Pod被Kill。

不支援

不支援

小型AI應用,多個Pod共用GPU裝置提升資源使用率。受request==limit約束,Pod在運行期間可以隨時獲得GPU資源,不會出現排隊情況。

Notebook情境利用share-pool模式錯峰使用資源案例

Notebook研發模式中,應用通常並不會長期持續佔用資源,因此可以利用share-pool模式,讓Pod錯峰運行在不同的GPU卡上,當有資源需求時,Pod才會進入到就緒隊列等待資源。

以下展示了一個Notebook情境的使用案例:

Pod A、B的資源描述為requests=0.5,limits=0.5,Pod C、D的資源描述為requests=0.5卡,limits=1卡。按照request需求,這些Pod可以同時調度到一個總量為2張卡的GPU-HPN節點。

T1時段:

  1. 資源被Pod A和Pod C佔用,Pod B和Pod D在就緒隊列中等待調度。

  2. GPU共用模組會嘗試為隊首的Pod D分配資源,但目前僅有GPU0隻有0.5張卡的空閑資源,雖然Pod D的reqeust為0.5,從容量上可以滿足需求,但考慮到Pod D的limit為1,Pod A和Pod D在同一張卡上運行會出現資源爭搶,GPU共用模組會讓Pod D排隊等待資源。

T2時段-階段一:

  1. Pod C任務結束,進入休眠隊列。

  2. GPU 1空閑之後將資源分派給了Pod D。

T2時段-階段二:

Pod B得到資源,Pod B的limit為0.5,可以和Pod A同時在GPU0上使用,不存在資源競爭。

GPU共用調度使用樣本

本樣本示範Pod使用GPU共用調度功能。操作流程中會選擇一個GPU-HPN節點開啟GPU共用調度功能(share-pool),並提交Pod使用GPU共用資源,隨後關閉節點的GPU共用調度功能。

步驟一:為GPU-HPN節點配置標籤 

  1. 查看GPU-HPN節點。

    重要

    開啟前需要確保節點上不存在聲明GPU獨佔資源的Pod,否則需要先將Pod刪除才能開啟。若Pod僅申請了CPU和記憶體資源則不需要刪除。

    kubectl get node -l alibabacloud.com/node-type=reserved

    預期輸出:

    NAME                     STATUS   ROLES   AGE   VERSION
    cn-wulanchabu-c.cr-xxx   Ready    agent   59d   v1.28.3-aliyun
  2. 為節點cn-wulanchabu-c.cr-xxx增加標籤alibabacloud.com/gpu-share-policy=share-pool,開啟GPU共用調度功能。

    $ kubectl label node cn-wulanchabu-c.cr-xxx alibabacloud.com/gpu-share-policy=share-pool

步驟二:查看對應節點的開啟狀態

等待節點功能開啟完成,查看節點開啟狀態。在capacity欄位中可以看到GPU共用資源,且conditions中的GPUSharePolicyValid提示為True,表示開啟成功。

$ kubectl get node cn-wulanchabu-c.cr-xxx -o yaml

GPU共用策略生效後,節點狀態會更新為以下形式。預期輸出:

# 具體以實際情況為準
apiVersion: v1
kind: Node
spec: 
  # ...
status:
  allocatable:
    # GPU共用資源描述
    alibabacloud.com/gpu-core.percentage: "1600"
    alibabacloud.com/gpu-memory.percentage: "1600"
    # 功能開啟後,預留CPU、記憶體和儲存資源給GPU共用模組使用
    cpu: "144"
    memory: 1640Gi
    nvidia.com/gpu: "16"
    ephemeral-storage: 4608Gi
  capacity:
    # GPU共用資源描述
    alibabacloud.com/gpu-core.percentage: "1600"
    alibabacloud.com/gpu-memory.percentage: "1600"
    cpu: "176"
    memory: 1800Gi
    nvidia.com/gpu: "16"
    ephemeral-storage: 6Ti
  conditions:
  # 提示GPU Share策略配置正確性
  - lastHeartbeatTime: "2025-01-07T04:13:04Z"
    lastTransitionTime: "2025-01-07T04:13:04Z"
    message: gpu share policy is valid.
    reason: Valied
    status: "True"
    type: GPUSharePolicyValid
  # 提示當前節點生效的GPU Share策略
  - lastHeartbeatTime: "2025-01-07T04:13:04Z"
    lastTransitionTime: "2025-01-07T04:13:04Z"
    message: gpu share policy is share-pool.
    reason: share-pool
    status: "True"
    type: GPUSharePolicy

關於GPU共用資源各配置項的說明,請參見節點配置說明

步驟三:使用GPU共用資源規格部署Pod

  1. 建立gpu-share-demo.yaml,配置使用與節點相同的共用模型share-pool

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        alibabacloud.com/compute-class: "gpu-hpn"
        # 指定Pod的GPU共用模型為share-pool,與節點配置一致
        alibabacloud.com/gpu-share-policy: "share-pool" # static
      name: gpu-share-demo
      namespace: default
    spec:
      containers:
      - name: demo
        image: registry-cn-wulanchabu-vpc.ack.aliyuncs.com/acs/stress:v1.0.4
        args:
          - '1000h'
        command:
          - sleep
        # 資源描述中填寫GPU共用資源gpu-core.percentage和gpu-memory.percentage
        # request和limit效果詳見配置說明
        resources:
          limits:
            cpu: '5'
            memory: 50Gi
            alibabacloud.com/gpu-core.percentage: 100
            alibabacloud.com/gpu-memory.percentage: 100
          requests:
            cpu: '5'
            memory: 50Gi
            alibabacloud.com/gpu-core.percentage: 10
            alibabacloud.com/gpu-memory.percentage: 10
  2. 部署樣本Pod。

    kubectl apply -f gpu-share-demo.yaml

步驟四:查看Pod的GPU共用資源使用方式

登入容器,查看Pod的GPU共用資源使用方式。

kubectl exec -it pod gpu-share-demo -- /bin/bash

您可使用nvidia-smi等命令,查看容器GPU資源分派和使用方式,具體情況以實際輸出為準。

說明

對於share-pool類型的Pod,當Pod未使用GPU資源時,BusID欄位會展示為Pending。

具體命令以實際卡型為準,例如nvidia-smi對應NVIDIA系列GPU裝置,其他卡型請提交工單諮詢。

(可選)步驟五:關閉節點GPU共用調度策略

重要

關閉前若節點上存在聲明GPU共用資源的Pod,需要先將Pod刪除。若Pod僅申請了CPU和記憶體資源則不需要刪除。

  1. 刪除使用GPU共用功能的Pod。

    $ kubectl delete pod gpu-share-demo
  2. 關閉節點的GPU共用調度功能。

    $ kubectl label node cn-wulanchabu-c.cr-xxx alibabacloud.com/gpu-share-policy=none
  3. 再次查看節點策略配置狀態。

    $ kubectl get node cn-wulanchabu-c.cr-xxx -o yaml

    預期輸出:

    apiVersion: v1
    kind: Node
    spec: 
      # ...
    status:
      allocatable:
        # 功能關閉後,預留CPU和記憶體資源恢複原值
        cpu: "176"
        memory: 1800Gi
        nvidia.com/gpu: "16"
        ephemeral-storage: 4608Gi
      capacity:
        cpu: "176"
        memory: 1800Gi
        nvidia.com/gpu: "16"
        ephemeral-storage: 6Ti
      conditions:
      # 提示GPU Share策略配置正確性
      - lastHeartbeatTime: "2025-01-07T04:13:04Z"
        lastTransitionTime: "2025-01-07T04:13:04Z"
        message: gpu share policy config is valid.
        reason: Valid
        status: "True"
        type: GPUSharePolicyValid
      # 提示當前節點生效的GPU Share策略
      - lastHeartbeatTime: "2025-01-07T04:13:04Z"
        lastTransitionTime: "2025-01-07T04:13:04Z"
        message: gpu share policy is none.
        reason: none
        status: "False"
        type: GPUSharePolicy

詳細配置說明

節點配置說明

開啟配置

開啟GPU共用調度在Node的Label標籤中配置,具體如下。

配置項

說明

取值說明

樣本

alibabacloud.com/gpu-share-policy

GPU資源共用策略。

  • none:關閉節點GPU共用調度功能。

  • share-pool:節點所有的GPU看作一個共用池(share pool),Pod並不固定在某個GPU裝置上運行,只要任意物理卡上有空閑資源,Pod就可以使用。

  • static:GPU切分情境,Pod運行在固定的GPU裝置上。

apiVersion: v1
kind: Node
metadata:
  labels:
    # 功能開啟,使用share-pool策略,取值中可指定其他策略
    alibabacloud.com/gpu-share-policy: share-pool
重要
  • 若節點上已經有獨佔GPU類型的Pod,請先將相關Pod刪除再開啟共用策略。

  • 若節點上已經有GPU共用資源類型的Pod,不能修改或關閉GPU共用策略,需要先將相關Pod刪除才能繼續操作。

  • 若節點上的Pod僅申請了CPU和記憶體資源則不需要刪除。

QoS配置

GPU-HPN節點支援在節點註解中配置GPU共用調度的QoS參數,格式如下。

apiVersion: v1
kind: Node
...
metadata:
  annotations:
    alibabacloud.com/gpu-share-qos-config: '{"preemptEnabled": true, "podMaxDurationMinutes": 120, "reservedEphemeralStorage": "1.5Ti"}'
...

具體說明如下:

參數

類型

取值

說明

preemptEnabled

Boolean

  • true

  • false

僅適用於share-pool模式,表示是否開啟搶佔。預設值為true,表示開啟搶佔。

podMaxDurationMinutes

Int

大於0的整數,單位為分鐘。

僅適用於share-pool模式,Pod佔用GPU超過該時間,才可能會被搶佔。預設值為120,即2小時。

reservedEphemeralStorage

resource.Quantity

大於等於0,單位為Kubernetes字串格式,如500Gi。

節點本地臨時儲存預留空間,預設值為1.5Ti。

查看節點共用資源

功能開啟後,節點allocatable和capacity中會增加對應的GPU共用資源名稱,同時allocatable中會扣除新增的基礎資源開銷,各資源名說明如下。

配置項

說明

計算方式

alibabacloud.com/gpu-core.percentage

GPU共用資源算力,百分比格式。

功能開啟後會增加該欄位,功能關閉後會刪除該欄位。

裝置數量*100,例如16卡的機器,對應值為1600。

alibabacloud.com/gpu-memory.percentage

GPU共用資源顯存,百分比格式。

功能開啟後會增加該欄位,功能關閉後會刪除該欄位。

裝置數量*100,例如16卡的機器,對應值為1600。

cpu

開啟後.status.allocatable中會扣除基礎開銷,供GPU共用模組使用。功能關閉後自動取消預留。

裝置數量*2,例如16卡的機器,對應預留資源為32核。

memory

裝置數量*10GB,例如16卡的機器,對應預留資源為160GB。

ephemeral-storage

單節點1.5TB磁碟空間。

正確性提示

欄位

取值

說明

type

GPUSharePolicyValid

表示當前GPU Share配置的正確性。

status

"True","False"

  • True:表示當前GPU Share的配置正確。

  • False:表示當前GPU Share的配置錯誤,具體錯誤原因可以在condition.reason中查看。

reason

Valid,InvalidParameters,InvalidExistingPods,ResourceNotEnough

  • Valid:當前共用策略配置正確。

  • InvalidParameters:當前共用策略配置拼字不合法。

  • InvalidExistingPods:當前節點上有其他類型的GPU Pod,無法開啟或關閉功能。

  • ResourceNotEnough:當前節點資源不足,無法滿足GPU共用功能的基礎開銷,需要刪除一部分Pod後才能開啟。關於預留資源量,請參見節點配置說明

message

-

方便閱讀的提示資訊。

  • lastTransitionTime

  • lastHeartbeatTime

UTC時間

condition上次更新的時間。

當前生效的GPU共用策略

欄位

取值

說明

type

GPUSharePolicy

表示當前GPU Share配置的正確性。

status

"True","False"

  • True:當前節點已經開啟了GPU共用功能。

  • False:當前節點未開啟GPU共用功能。

reason

none,share-pool,static

  • none:當前節點未開啟GPU共用功能。

  • share-pool:當前節點已經生效了share-pool類型的共用策略。

  • static:當前節點已經生效了static類型的共用策略。

message

-

方便閱讀的提示資訊。

  • lastTransitionTime

  • lastHeartbeatTime

UTC時間

condition上次更新的時間。

重要

若功能開啟或關閉後,節點資源未按上述說明發生變化,說明配置修改失敗,可以在conditions中查看配置正確性提示資訊。

Pod配置說明

功能開啟後,在Pod中配置GPU共用資源標籤即可使用該功能。

apiVersion: v1
kind: Pod
metadata:
  labels:
    # 僅支援gpu-hpn計算類
    alibabacloud.com/compute-class: "gpu-hpn"
    # 指定Pod的GPU共用模型為share-pool,與節點配置一致
    alibabacloud.com/gpu-share-policy: "share-pool"
  name: gpu-share-demo
  namespace: default
spec:
  containers:
  - name: demo
    image: registry-cn-wulanchabu-vpc.ack.aliyuncs.com/acs/stress:v1.0.4
    args:
      - '1000h'
    command:
      - sleep
    resources:
      limits:
        cpu: '5'
        memory: 50Gi
        alibabacloud.com/gpu-core.percentage: 100
        alibabacloud.com/gpu-memory.percentage: 100
      requests:
        cpu: '5'
        memory: 50Gi
        alibabacloud.com/gpu-core.percentage: 10
        alibabacloud.com/gpu-memory.percentage: 10

配置項說明如下:

計算類

配置項

取值

說明

metadata.labels.alibabacloud.com/compute-class

gpu-hpn

僅支援gpu-hpn計算類。

GPU共用策略

配置項

類型

取值

說明

metadata.labels.alibabacloud.com/gpu-share-policy

String

  • none

  • share-pool

  • static

指定Pod的GPU共用模型,模型匹配的Node才會參與調度。

資源需求

在容器資源request中配置GPU共用資源,描述算力和顯存需求和限制,可以控制節點上可調度的Pod數量。同時,節點上的Pod數量還會受其他資源維度限制,例如CPU、記憶體、Pod數量等。

需求類別

配置項

類型

取值

說明

requests

alibabacloud.com/gpu-core.percentage

Int

share-pool策略:[10, 100]

staitc策略:[10, 100)

算力百分比,表示申請的單卡算力比例需求,最少為10%的算力。

alibabacloud.com/gpu-memory.percentage

顯存百分比,表示申請的單卡顯存比例需求,最少為10%的顯存。

limits

alibabacloud.com/gpu-core.percentage

算力百分比,表示申請的單卡算力比例限制,最少為10%的算力。

alibabacloud.com/gpu-memory.percentage

顯存百分比,表示申請的單卡顯存比例限制,最少為10%的顯存。

配置約束

除了以上當個配置項的約束,Pod在申請資源時還會受到以下約束。

  • requestslimits中必須同時填寫顯存和算力(alibabacloud.com/gpu-core.percentagealibabacloud.com/gpu-memory.percentage)。

  • Pod最多隻支援有一個容器使用GPU共用資源(通常為主容器),其他容器(如Sidecar容器)僅允許申請CPU、記憶體等非GPU資源。

  • 不支援容器內既申請GPU獨佔卡資源(nvidia.com/gpu等),又申請GPU共用資源(alibabacloud.com/gpu-core.percentagealibabacloud.com/gpu-memory.percentage)。

FAQ

若節點無空閑GPU資源,就緒隊列中的Pod會如何表現?

當GPU共用Pod等待資源時,會定時列印提示資訊,範例如下。

You have been waiting for ${1} seconds. Approximate position: ${2}

其中${1}參數表示已經等待的時間,${2}參數表示當前在“就緒隊列”中的順位。

GPU共用模式特有的Pod監控指標有哪些?

對於使用了GPU共用資源的Pod,可以通過以下指標查看Pod使用GPU共用資源的情況。

指標

描述

範例

DCGM_FI_POOLING_STATUS

僅在share-pool模式下提供,表示GPU共用模式下的Pod狀態類型,包括“休眠”、“就緒”和“運行”,具體如下:

  • 0 “休眠”,表示沒有GPU資源需求。

  • 1 “就緒”,表示等待GPU資源 。

  • 2 “正常運行”,表示正在使用GPU資源,且資源連續佔用時間未超過podMaxDurationMinutes。

  • 3 “可被搶佔”,表示正在使用GPU資源,且資源連續佔用時間已超過podMaxDurationMinutes,但目前因為還沒有Pod排隊,可以繼續佔用資源。

DCGM_FI_POOLING_STATUS{NodeName="cn-wulanchabu-c.cr-xxx",pod="gpu-share-demo",namespace="default"} 1

DCGM_FI_POOLING_POSITION

僅在share-pool模式下提供,表示當前Pod正在就緒隊列中等待資源,值含義為當前Pod在就緒隊列中的位置,從1開始計數。

僅在POOLING_STATUS=1的時候才會出現。

DCGM_FI_POOLING_POSITION{NodeName="cn-wulanchabu-c.cr-xxx",pod="gpu-share-demo",namespace="default"} 1

Pod使用GPU共用調度時,GPU利用率資料指標有什麼區別?

Pod的GPU利用率指標與之前一致,但對於使用了GPU共用調度情境的Pod,指標的標籤及含義有以下區別。

  • ACS提供的Pod監控資料中,GPU算力利用率、顯存用量等指標為基於整卡的絕對值,與GPU獨佔情境一致。

  • 在Pod內通過nvidia-smi等命令看到的顯存用量為絕對值,與GPU獨佔情境一致;但算力利用率為相對值,其分母為Pod的limit。

  • Pod GPU利用率指標中的編號標籤等裝置資訊對應節點上的真實編號,並不都是從0開始編號。

  • 對於share-pool類型的共用模式,由於Pod會在所有GPU裝置內彈性使用不同的卡裝置,所以指標中的裝置號可能會發生變化。

叢集內僅開啟了一部分GPU共用調度,如何避免GPU獨佔Pod調度衝突

ACS叢集預設調度器會自動匹配Pod和Node類型,避免調度衝突。

若您使用了自訂調度器,由於節點容量中同時存在GPU裝置資源和GPU共用資源,可能會導致GPU獨佔Pod調度到GPU共用節點上,您可選擇以下兩種方案:

  • 方案一:編寫調度器外掛程式,自動感知ACS Node的配置標籤和condition協議,過濾類型不符合的Node。更多資訊,請參見K8s調度器架構介紹

  • 方案二:利用K8s的label或taint機制,在開啟GPU共用調度的Node上增加label或taint,為GPU獨佔和共用Pod分別配置不同的親和性策略。

GPU共用Pod被搶佔時,有哪些提示資訊可以查看

對於share-pool類型的共用模式,當觸發搶佔時,Pod會有Event和Condition提示。Event為非結構化的資料格式,若您需要讀取結構化的資料內容,可以在對應Condition中的reason和status中擷取,具體如下。

# 表示當前Pod的GPU資源被搶佔,觸發搶佔的Pod名稱是<new-pod-name>。
Warning  GPUSharePreempted  5m15s  gpushare   GPU is preempted by <new-pod-name>.
# 表示當前Pod搶佔了其他Pod的GPU資源,被搶佔的Pod名稱是<old-pod-name>。
Warning  GPUSharePreempt    3m47s  gpushare   GPU is preempted from <old-pod-name>.
- type: Interruption.GPUShareReclaim # 表示GPU共用Pod搶佔的事件類型
  status: "True" # True表示發生了搶佔或者被搶佔的行為
  reason: GPUSharePreempt # GPUSharePreempt表示搶佔了其他Pod,GPUSharePreempted表示被其他pod搶佔
  message: GPU is preempted from <old-pod-name>. # 與event類似的提示資訊
  lastTransitionTime: "2025-04-22T08:12:09Z" # 發生搶佔行為的時間
  lastProbeTime: "2025-04-22T08:12:09Z"

Notebook情境中如何在節點上運行更多的Pod

對於開啟GPU共用功能的Pod,ACS還支援為Pod的CPU、記憶體配置request小於limit的規格,便於充分利用節點資源。需要注意的是,當節點提交的Pod資源limit總量超過節點資源規格(node allocatable)時,Pod在使用CPU和記憶體資源時會互相競爭,您可以結合節點資源使用率資料分析CPU和記憶體的資源競爭情況,詳見ACS GPU-HPN節點層級監控指標。對於Pod來說,CPU資源競爭會體現在Pod的CPU Steal Time上,記憶體資源競爭時會觸發整機OOM導致部分Pod被Kill終止,建議您結合應用特性合理規劃Pod優先順序和資源規格,避免資源競爭導致Pod服務品質受到影響。