全部產品
Search
文件中心

Platform For AI:EAS常見問題

更新時間:Dec 23, 2025

本文為您介紹線上預測的相關問題。

服務部署與狀態異常

服務部署後,您可以通過概覽頁面的服務執行個體列表,查看服務執行個體的狀態、日誌及事件,以定位問題。

Q: 服務長時間處於等待中狀態,如何解決?

服務在部署階段後會進入到Waiting(等待中)狀態,等待資源調度和服務執行個體啟動。當所有服務執行個體均啟動成功後,服務會進入到Running(運行中)狀態。可能的情況有:

一、資源不足:服務執行個體列表中所有執行個體或部分執行個體狀態為Pending。

大部分原因在於專屬資源群組中空閑資源不足,導致執行個體無法調度。如下圖所示:8da00c3a5f2ebf7f0a110686ae473103

此時,您可以檢查專屬資源群組中的機器節點是否有足夠多的空閑資源(包括CPU、Memory和GPU)。如果一個執行個體需要3核4 GB的資源,那麼在專屬資源群組中需要至少一個機器節點有3核4 GB的空閑資源。

重要

為避免在高負載時出現系統故障,機器節點需要預留1個核給系統組件,能調度的資源需要在總資源中減少一個核。

專屬資源群組節點列表如下圖所示。如何查看資源群組詳情,請參見使用EAS資源群組image

二、執行個體健全狀態檢查未完成:服務執行個體狀態為Running,但容器狀態一般為[0/1]或[1/2]。

正斜線(/)前面的數字表示啟動成功的容器數量,正斜線(/)後面的數字表示總的容器數量。當您使用自訂鏡像來部署服務時,執行個體中會自動注入一個Sidecar容器用於服務的流量控制與監控採集等工作,您無需關心該容器。在控制台您會看到總容器數量為2,即包含了您的自訂容器和引擎的Sidecar容器。此時,需要2個容器狀態都為Ready時,服務執行個體才被視為啟動完成,並開始接收流量。ab1dfe90bbf7d3056c52b2dfbea196ce

三、執行個體健全狀態檢查未通過:EAS服務配置的連接埠與代碼中設定的連接埠不一致

問題描述:使用Flask(也可以是FastAPI/Sanic/Django等其他Web架構)提供API介面的EAS服務,部署後發現日誌已經顯示Running on http://127.0.0.1:7000

image

但是PAI控制台顯示EAS服務仍在等待中:

image

問題原因:EAS服務的worker沒有通過健全狀態檢查。worker暴露的連接埠號碼是8089,而Flask提供的是7000。

image

解決方案:修改EAS服務配置的連接埠號碼,使其與代碼中連接埠保持一致,重啟服務即可。image

Q:服務處於Failed(失敗)狀態,如何解決?

服務會在以下兩種情況處於Failed狀態:

  • 服務部署階段:如果部署時指定的資源(如模型地址等)不存在,服務的目前狀態資訊中將顯示報錯原因,通常您可以根據報錯資訊判斷出部署失敗的原因。

  • 服務啟動階段:在服務完成部署並調度到資源開始啟動時失敗,此時會出現狀態資訊Instance <network-test-5ff76448fd-h9dsn> not healthy: Instance crashed, please inspect instance log.

    該狀態資訊表示服務中某個執行個體啟動失敗,此時您需要在服務概覽頁面的服務執行個體列表中查看失敗狀態,來判斷具體的失敗原因。執行個體失敗有如下幾種情況:

    • 服務執行個體在啟動階段因記憶體用超發生OOM被系統殺掉,這種情況需要調大服務記憶體來重新部署。執行個體狀態如下圖所示:5c694af1e97b7d3c11cea6d6303d1540

    • 服務在啟動階段代碼錯誤發生Crash,該情況下上次狀態為Error(error code),您需要單擊執行個體操作列下的日誌按鈕進一步排查服務日誌,來定位服務啟動失敗的原因。執行個體狀態如下圖所示:93d610794f407ebfc40a862fe47a9069

    • 服務鏡像拉取失敗,參見鏡像拉取失敗(ImagePullBackOff)怎麼辦?

Q:鏡像拉取失敗(ImagePullBackOff)怎麼辦?

如果服務執行個體列表中看到上次退出原因是ImagePullBackOff,通常是鏡像拉取失敗。如果狀態列有如下表徵圖,可以單擊查看具體原因。

image

常見鏡像拉取失敗原因如下:

失敗原因

可能的報錯

解決方案

系統硬碟空間不足

no space left on device

擴容系統硬碟

ACR存取控制未配置

no such host

使用鏡像公網地址,需為ACR開通公網訪問

使用鏡像內網地址:

  1. 為EAS添加專用網路如eas_vpc

  2. 在ACR企業版執行個體的存取控制中添加eas_vpc,參見ACR配置專用網路的存取控制

EAS網路設定問題

dial tcp ***** timeout

使用鏡像公網地址時,需要給EAS配置訪問公網

鑒權資訊缺失或錯誤

  • 401 Unauthorized

  • authorization failed

ACR企業版執行個體如果沒有配置公開匿名拉取,跨地區通過公網拉取,部署時需配置鏡像倉庫下載的使用者名稱和密碼。 擷取請參見配置訪問憑證

根據鏡像服務與EAS服務所處地區情況,使用建議如下:

  • 同地區:推薦使用鏡像內網地址拉取鏡像。

  • 跨地區:ACR個人版只能使用鏡像公網地址。ACR企業版根據以下情況選擇:

    • 安全性和穩定性有較高要求,使用鏡像內網地址,需通過CEN打通VPC,參見跨地區或從IDC訪問ACR企業版執行個體

    • 業務情境較為簡單,或暫時無法完成內網打通,使用鏡像公網地址,作為臨時解決方案。通過公網下載,速度會比較慢。

關於ACR企業版執行個體,注意點如下:

  • 需根據情況配置專用網路和公網的存取控制。

  • 如倉庫沒有配置公開匿名拉取,那麼跨地區通過公網地址拉取時,EAS服務需配置鏡像倉庫下載的使用者名稱和密碼。

Q: EAS服務停止後自動重啟

問題描述:EAS服務停止一段時間後自動重啟。

問題原因:

這種情況是因為服務執行個體配置了Auto Scaling,且最小執行個體數為0。在一段時間沒有流量後,執行個體數會自動縮容到0。因自動縮容導致的無可用執行個體,如果有請求就會觸發自動擴容(不需要達到設定的擴容指標閾值)。

是否自動擴容可以根據部署事件中auto scaling的描述來判斷。

解決方案:

  • 如不再需要該服務,可直接刪除。

  • 如不想刪除服務,可主動停止(通過控制台點擊停止,或者調用API介面StopService)。主動停止的服務無法通過流量觸發擴容。

  • 如果不希望彈性擴縮容導致服務自動停止,請不要將最小執行個體數設定為0。

  • 您也可以根據實際需要關閉彈性擴縮容,防止意外流量觸發擴容啟動。

Q: PAI-EAS啟動報錯IoError(Os { code: 28, kind: StorageFull, message: "No space left on device" })

問題描述

PAI-EAS啟動報錯如下

[2024-10-21 20:59:33] serialize_file(_flatten(tensors), filename, metadata=metadata)

[2024-10-21 20:59:33] safetensors_rust.SafetensorError: Error while serializing: IoError(Os { code: 28, kind: StorageFull, message: "No space left on device" })

[2024-10-21 20:59:35] time="2024-10-21T12:59:35Z" level=info msg="program stopped with status:exit status 1" program=/bin/sh

問題原因:EAS執行個體系統硬碟被大量模型檔案佔據,造成服務無法正常啟動。

解決方案:

方案一:為EAS執行個體擴容系統硬碟

方案二:如果是模型檔案過大,考慮將模型檔案儲存體到外部儲存(OSS、NAS等),通過儲存掛載來讀取。

Q: 部署報錯:fail to start program with error:fork/exec /bin/sh: exec format error

exec format error 表明作業系統無法執行目標程式檔案,最常見的原因是可執行檔或容器鏡像的 CPU 架構與運行它的宿主機系統架構不相容

建議切換其他資源規格嘗試。

Q:報錯:Invalid GPU count 6, only supported: [0 1 2 4 8 16]

為了最大化多GPU間的通訊效率,為單個服務指定的GPU數量必須是2的冪次方。

支援分配0,1,2,4,8,16卡。

資源問題

資源使用與限制

Q:部署EAS服務時為什麼不能選擇1核2 GB的配置資源?

為避免您在使用時出現問題,目前1核2 GB的資源已下架。因為EAS會在每個機器節點上部署一些系統組件,這些組件會佔用部分機器資源。如果機型規格太小,系統組件佔用的資源比例會過高,導致您的可用資源比例降低。

Q:EAS部署服務數量上限是多少?

EAS服務部署執行個體數要根據資源的剩餘使用量來確定,具體的剩餘量可以在控制台的資源群組列表的機器列表中查看,詳情請參見使用EAS資源群組

如果根據CPU核心數來分配任務,那麼部署的執行個體數上限就是 (CPU核心數 - 1) / 每個執行個體使用的核心數。

Q: EAS中與4090顯卡近似算力的規格?

ecs.gn8ia-2x.8xlarge效能接近4090。

Q:在特定資源規格下,模型部署後支援的最大並發數是多少?

模型服務的最大並發數與模型、使用情境、資源配置等多因素相關,建議通過自動壓測瞭解服務效能。

專屬資源群組管理

Q:專屬資源群組長時間處於擴容中

通常是因為當前地區資源不足。對於預付費機器,如果資源不足建立失敗,系統會自動建立退款訂單,已支付的費用會原路返回。

Q: 如何刪除專屬資源群組的預付費機器執行個體?

前往阿里雲資源退訂頁面,退訂不再使用的EAS預付費專屬機器。其中:

  • 類型:選擇非全額退訂

  • 產品名稱:選擇EAS專屬機器預付費

單擊搜尋找到待退訂資源,然後單擊操作列下的退訂資源,並按照控制台操作指引完成退訂流程。

Q:EAS資源群組機器退訂後服務執行個體資料是否會保留?

不保留服務執行個體資料。

系統硬碟管理

Q:如何擴容系統硬碟?

可以通過以下兩種方式為服務配置或擴容系統硬碟:

  1. 控制台配置:在建立或更新服務時,在資源資訊 > 配置系統硬碟,直接設定系統硬碟大小。image

  2. JSON 配置:在服務的 JSON 設定檔中,修改 metadata 欄位下的 disk 值。

    "metadata": {"disk": "40Gi"}
說明

如果使用的是專屬資源群組,配置的系統硬碟大小不能超過節點機器本身的系統硬碟大小。如需更大系統硬碟,需要釋放當前節點,重新購買並選擇更大的系統硬碟規格。

服務更新與擴縮容

Q: EAS的擴縮容策略

擴縮容策略需由客戶根據業務需求自行選擇:支援水平自動擴縮容定時擴縮容

若選擇水平自動擴縮容,可以基於自訂指標(如 QPS、CPU 使用率等)進行配置。具體指標的計算方式和配置方法,請參見水平自動擴縮容

為避免因指標波動導致頻繁擴縮容,系統對閾值設定了 10% 的容忍區間。例如,當您將 QPS 閾值設為 10 時,實際觸發擴容的條件通常為 QPS 持續高於 11(即 10 × 1.1)。這意味著:

  • 若 QPS 在 10–11 之間短暫波動,系統可能不會立即擴容;

  • 只有當 QPS 持續穩定在 11–12 或更高時,才會觸發擴容操作。

該機制有助於減少不必要的資源變動,提升系統穩定性與成本效益。

Q: 擴容的執行個體在哪?

如果使用專屬資源群組,並配置了彈性資源集區,在專屬資源群組中沒有可用節點資源時,會使用公用資源群組擴容。

Q:如何平滑更新服務

  • 問題詳述:在更新服務時,需保證服務不中斷,並且在專屬資源不足時,能臨時使用公用資源來完成更新,更新完成後再將執行個體調度回專屬資源群組。

  • 解決方案:需要組合使用變換高優資源重調度彈性資源集區

    1. 配置變換:保證服務不中斷。在服務功能 > 穩定保障下配置變換策略。詳見變換與優雅退出image

    2. 開啟彈性資源集區:允許在專屬資源群組不足時,將超出的執行個體部署到隨用隨付的公用資源群組。詳見彈性資源集區

    3. 開啟高優資源重調度:當專屬資源群組釋放出空間後(例如舊執行個體被銷毀),系統會自動將在公用資源群組上的執行個體“調度”回專屬資源群組,以節省成本。

服務調用問題

服務調用報錯

根據返回的狀態代碼排查,詳情請參見附錄:服務狀態代碼與常見報錯

HTTPS與自訂網域名

Q:服務是否支援 HTTPS 調用? 

支援。您只需將服務地址中的 http:// 替換為 https:// 即可進行加密傳輸。如果用戶端(如 Python requests)報告 SSL 憑證驗證錯誤,這通常是用戶端環境配置問題,而非 EAS 服務本身的問題。

Q:如何強制使用 HTTPS 訪問?

  • 共用網關:不支援強制 HTTPS。

  • 專屬網關:支援。您可以在專屬網關配置中開啟 HTTPS 重新導向,開啟後,所有通過 HTTP 的訪問請求都將被自動重新導向到 HTTPS。image

Q:能否使用自訂網域名調用?

可以。您需要建立並使用全託管專屬網關,並在網關中配置您的自訂網域名。詳情請參見使用專屬網關

Token 管理

Q:Token 是否會到期或變化?

不會。服務部署後產生的 Token 是長期有效。服務的重啟、更新(除非手動修改鑒權方式)或擴縮容都不會改變 Token。只有當您手動重設 Token 或刪除服務時,它才會失效。

Q:能否為一個服務建立多個 Token?

不支援。一個 EAS 服務執行個體僅支援一個認證 Token。如需實現多使用者權限管理或分別計量,建議結合使用阿里雲 RAM 鑒權等更靈活的方案。

其他調用問題

Q:如何為LLM服務啟用流式響應 (Streaming)?

EAS 服務本身不提供全域的流式開關。您必須在每次 API 呼叫的請求體(Request Body)中明確指定需要流式輸出。例如,調用相容 OpenAI 格式的 LLM 服務時,在 JSON 請求體中加入 "stream": true 即可。

Q:VPC 地址調用與 VPC 高速直連的區別

  • VPC 地址調用:VPC地址調用是內網SLB+網關的模式(公網地址是公網SLB+網關),這是比較經典的請求模式。在這種模式下,請求需要通過SLB的4層轉寄和網關的7層轉寄之後到達服務執行個體。在大流量高並發的情境中,通過轉寄會帶來一定的效能開銷,同時網關也會有頻寬的限制(預設1 Gbps)。

  • VPC 高速直連:EAS提供了高速直連的訪問模式,既解決了效能和擴充性的問題,也無須增加額外的成本。開通VPC高速直連後,相當於打通了您的VPC和EAS服務VPC之間的網路通路。您的請求通過EAS提供的服務發現功能對服務進行定址,並在用戶端代碼中通過軟負載的方式發起負載平衡的服務要求。這個過程需要使用EAS提供的SDK來進行訪問,並將endpoint_type設定為DIRECT即可。

    例如在Python SDK使用說明的情境中,您可通過在代碼中增加如下一行代碼,來將調用由網關改為直連:

    • client = PredictClient('http://pai-eas-vpc.cn-hangzhou.aliyuncs.com', 'mnist_saved_model_example')
      client.set_token('M2FhNjJlZDBmMzBmMzE4NjFiNzZhMmUxY2IxZjkyMDczNzAzYjFi****')
      client.set_endpoint_type(ENDPOINT_TYPE_DIRECT) # Direct link
      client.init()

許可權與網路

Q:為什麼RAM使用者無法自動建立或刪除EAS服務關聯角色?

只有擁有指定許可權的使用者才能自動建立或刪除AliyunServiceRoleForPaiEas。因此,當RAM使用者無法自動建立或刪除AliyunServiceRoleForPaiEas時,您需要為其添加相應的權限原則,具體操作方法如下:

  1. 通過指令碼配置的方式將如下權限原則建立為自訂策略。具體操作,請參見建立自訂權限原則

    建立或刪除服務關聯角色的權限原則

    {
      "Statement": [
        {
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "eas.pai.aliyuncs.com"
            }
          }
        }
      ],
      "Version": "1"
    }
  2. 將上一步建立的自訂策略授權給目標RAM使用者。具體操作,請參見管理RAM使用者的許可權

Q:EAS服務內部如何訪問公網?

EAS服務內部預設不通公網,如果您有訪問公網的需求,需要為EAS服務配置具有公網訪問能力的專用網路。請參見EAS訪問公網或內網資源

服務管理

Q:EAS執行個體是否支援 SSH 登入?

不支援。EAS 作為一個託管服務,不提供進入容器內部的 SSH 許可權。如需在容器啟動時執行特定命令,請在服務配置的運行命令中指定。

Q:EAS服務狀態有哪些?

目前,EAS服務有以下幾種狀態,您也可以前往模型線上服務(EAS)頁面的服務狀態列進行查看。

  • Creating:建立中

  • Waiting:等待中(等待執行個體啟動完畢)

  • Stopped:已停止

  • Failed:已失敗

  • Updating:升級中(執行個體會被更新)

  • Stopping:停止中

  • HotUpdate:升級中(熱更新,不更新執行個體)

  • Starting:啟動中

  • DeleteFailed:刪除失敗

  • Running:運行中

  • Scaling:升級中(執行個體擴縮容中)

  • Pending:等待中(等待具體處理)

  • Deleting:刪除中

  • Completed:已完成

  • Preparing:準備

Q: 如何查看服務由哪個RAM使用者建立

可通過Action Trail控制台進行事件查詢,事件名稱選擇CreateService,詳見通過Action Trail控制台查詢事件

Q:可以公網下載EAS官方鏡像嗎?

PAI官方鏡像是平台內部鏡像,只能在PAI平台上使用,不能在除平台容器之外的地方下載。

其他

Q:部署EAS服務時選擇不到OSS Bucket?

在部署EAS服務時,您可以通過掛載的方式來配置模型和代碼。請確保所使用的OSS儲存空間和NAS檔案系統與EAS服務位於同一地區,否則將無法進行選擇。

Q:Tensorflow問題

詳情見TensorFlow常見問題