使用EAS線上預測服務時遇到問題,可在此尋找原因和解決方案,涵蓋服務部署異常、鏡像拉取失敗、服務調用報錯、許可權與網路設定等常見情境。
有問題先問小PAI
PAI智能助手(小PAI)提供PAI全鏈路產品的使用說明和操作指引,支援對DSW執行個體、DLC任務、EAS服務進行營運診斷,自動識別失敗原因並給出處理建議。

服務部署與狀態異常
服務部署後,您可以通過概覽頁面的服務執行個體列表,查看服務執行個體的狀態、日誌及事件,以定位問題。
Q: 服務長時間處於等待中狀態,如何解決?
服務在部署階段後會進入到Waiting(等待中)狀態,等待資源調度和服務執行個體啟動。當所有服務執行個體均啟動成功後,服務會進入到Running(運行中)狀態。可能的情況有:
Q:服務處於Failed(失敗)狀態,如何解決?
服務會在以下兩種情況處於Failed狀態:
服務部署階段:如果部署時指定的資源(如模型地址等)不存在,服務的目前狀態資訊中將顯示報錯原因,通常您可以根據報錯資訊判斷出部署失敗的原因。
服務啟動階段:在服務完成部署並調度到資源開始啟動時失敗,此時會出現狀態資訊
Instance <network-test-5ff76448fd-h9dsn> not healthy: Instance crashed, please inspect instance log.。此狀態表示某個執行個體啟動失敗。在服務概覽頁面的服務執行個體列表中查看失敗狀態,可判斷具體原因。執行個體失敗有如下幾種情況:
執行個體因記憶體超限被系統終止(OOMKilled):上次狀態列顯示 OOMKilled(247),可結合重啟次數和上次退出原因列確認。解決方案:調大服務記憶體後重新部署。
代碼錯誤導致Crash:上次狀態顯示Error(error code)。單擊執行個體操作列的日誌按鈕查看服務日誌,定位啟動失敗原因。
服務鏡像拉取失敗,參見鏡像拉取失敗(ImagePullBackOff)怎麼辦?。
Q:鏡像拉取失敗(ImagePullBackOff)怎麼辦?
如果服務執行個體列表中看到上次退出原因是ImagePullBackOff,通常是鏡像拉取失敗。如果狀態列有表徵圖,可以單擊查看具體原因。
常見鏡像拉取失敗原因如下:
失敗原因 | 可能的報錯 | 解決方案 |
系統硬碟空間不足 |
| |
ACR存取控制未配置 |
| 使用鏡像公網地址,需為ACR開通公網訪問。 使用鏡像內網地址:
|
EAS網路設定問題 |
| 使用鏡像公網地址時,需要給EAS配置訪問公網。 |
鑒權資訊缺失或錯誤 |
| ACR企業版執行個體如果沒有配置公開匿名拉取,跨地區通過公網拉取,部署時需配置鏡像倉庫下載的使用者名稱和密碼。 擷取請參見配置訪問憑證。 |
根據鏡像服務與EAS服務所處地區情況,使用建議如下:
同地區:推薦使用鏡像內網地址拉取鏡像。
跨地區:ACR個人版只能使用鏡像公網地址。ACR企業版根據以下情況選擇:
對安全性和穩定性有較高要求,使用鏡像內網地址,需通過CEN打通VPC,參見跨地區或從IDC訪問ACR企業版執行個體。
業務情境較為簡單,或暫時無法完成內網打通,使用鏡像公網地址,作為臨時解決方案。通過公網下載,速度會比較慢。
ACR企業版執行個體注意事項:
需根據情況配置專用網路和公網的存取控制。
如倉庫沒有配置公開匿名拉取,那麼跨地區通過公網地址拉取時,EAS服務需配置鏡像倉庫下載的使用者名稱和密碼。
Q: EAS服務停止後自動重啟
問題描述:EAS服務停止一段時間後自動重啟。
問題原因:
服務配置了Auto Scaling且最小執行個體數為0。無流量時執行個體數自動縮容到0,一旦有請求到來就會觸發自動擴容(無需達到擴容指標閾值)。
是否自動擴容可以根據部署事件中auto scaling的描述來判斷。
部署事件中,資訊列出現Service is now auto scaling,表明服務被自動觸發擴容,隨後事件狀態從Waiting經過Scaling變為Running,可用執行個體數從0變為1。
解決方案:
如不再需要該服務,可直接刪除。
不想刪除服務,可主動停止(控制台點擊停止,或調用API
StopService)。主動停止的服務不會被流量觸發擴容。如果不希望彈性擴縮容導致服務自動停止,請不要將最小執行個體數設定為0。
您也可以根據實際需要關閉彈性擴縮容,防止意外流量觸發擴容啟動。
Q: PAI-EAS啟動報錯IoError(Os { code: 28, kind: StorageFull, message: "No space left on device" })
問題描述:
[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情境化部署LLM大模型時怎麼無法使用公用模型?
專屬雲EAS暫不支援部署公用模型,您需自行部署模型。
Q:EAS 執行個體刪除失敗或點擊停止按鈕無效怎麼辦?
執行個體刪除失敗或報錯:若刪除時報錯提示工作空間不存在等異常,建議優先檢查關聯的工作空間狀態是否正常;也可嘗試直接在 PAI 控制台的服務列表中點擊刪除操作進行釋放。
點擊停止按鈕無效(執行個體一直處於運行中):可通過以下方法排查。
瀏覽器端排查:重新整理頁面、清理緩衝或切換瀏覽器/無痕模式後重試。
請求診斷:開啟瀏覽器開發人員工具(F12)的 Network 面板,點擊停止並觀察 API 請求及響應狀態代碼,確認請求是否發送成功。
日誌核查:檢查 PAI 控制台動作記錄或CloudMonitor中是否有停止記錄及具體失敗原因。
API 替代方案:若控制台操作持續無效,可通過 OpenAPI 線上調試調用
StopService介面強制停止服務。
資源問題
計算資源及系統硬碟使用問題,詳情請參見資源配置-常見問題。
服務更新與擴縮容
Q: EAS的擴縮容策略
支援水平自動擴縮容或定時擴縮容,根據業務需求選擇。
若選擇水平自動擴縮容,可以基於自訂指標(如 QPS、CPU 使用率等)進行配置。具體指標的計算方式和配置方法,請參見水平自動擴縮容。
為避免因指標波動導致頻繁擴縮容,系統對閾值設定了 10% 的容忍區間。例如,當您將 QPS 閾值設為 10 時,實際觸發擴容的條件通常為 QPS 持續高於 11(即 10 × 1.1)。這意味著:
若 QPS 在 10–11 之間短暫波動,系統可能不會立即擴容;
只有當 QPS 持續穩定在 11–12 或更高時,才會觸發擴容操作。
該機制有助於減少不必要的資源變動,提升系統穩定性與成本效益。
Q: 擴容的執行個體在哪?
如果使用專屬資源群組,並配置了彈性資源集區,在專屬資源群組中沒有可用節點資源時,會使用公用資源群組擴容。
Q:如何平滑更新服務
問題詳述:在更新服務時,需保證服務不中斷,並且在專屬資源不足時,能臨時使用公用資源來完成更新,更新完成後再將執行個體調度回專屬資源群組。
解決方案:需要組合使用變換、高優資源重調度和彈性資源集區。
服務調用問題
服務調用報錯
根據返回的狀態代碼排查,詳情請參見附錄:服務狀態代碼與常見報錯。
Q:SDWebUI服務的生圖請求出現 504 逾時如何處理?
生圖類推理的耗時通常較長,當請求處理時間長度超過網關或用戶端的逾時閾值時,會返回 504 Gateway Timeout 錯誤。
可以採取以下措施:
適當調大用戶端的請求逾時時間,確保能夠覆蓋單次生圖的耗時。
對耗時較長的生圖任務,改用 EAS 提供的非同步推理能力,非同步提交任務並擷取結果,避免受同步請求逾時的限制。
最佳化服務的推理效能,例如更換計算能力更高的資源規格,縮短單張圖片的產生時間長度。
Serverless 版 SDWebUI 服務可能因資源不足導致排隊時間過長而逾時,建議切換至資源更充足的地區(如上海)重試。
HTTPS與自訂網域名
Q:服務是否支援 HTTPS 調用?
支援。您只需將服務地址中的 http:// 替換為 https:// 即可進行加密傳輸。如果用戶端(如 Python requests)報告 SSL 憑證驗證錯誤,這通常是用戶端環境配置問題,而非 EAS 服務本身的問題。
Q:如何強制使用 HTTPS 訪問?
共用網關:不支援強制 HTTPS。
專屬網關:支援。您可以在專屬網關配置中開啟 HTTPS 重新導向,開啟後,所有通過 HTTP 的訪問請求都將被自動重新導向到 HTTPS。
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:為什麼SDWebUI服務使用API 呼叫與 WebUI 的出圖效果不一致?
WebUI 通常會自動應用一套預設的產生參數(如採樣器、迭代次數、引導權重、隨機種子等),而 API 呼叫僅使用請求體中顯式傳入的參數。兩端參數不一致時,出圖效果就會存在差異。
對齊參數的方法如下:
記錄 WebUI 本次產生實際使用的全部參數,與 API 請求體中的參數逐項比對,確保取值一致。
在兩端固定相同的隨機種子分別產生一次,對比輸出結果進行驗證。
如果效果仍不一致,檢查兩種調用方式使用的模型版本與運行環境是否相同。
許可權與網路
Q:為什麼RAM使用者無法自動建立或刪除EAS服務關聯角色?
只有擁有指定許可權的使用者才能自動建立或刪除AliyunServiceRoleForPaiEas。RAM使用者遇到此問題時,需添加如下權限原則:
通過指令碼配置的方式將如下權限原則建立為自訂策略。具體操作,請參見建立自訂權限原則。
將自訂策略授權給目標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:PAI-EAS 服務名稱和服務 ID 的唯一性規則是什嗎?
服務名稱唯一性:EAS 服務名稱在單個地區內全域唯一。若建立服務時提示"服務名已存在",但模型線上服務(EAS)列表中未顯示該服務,說明該名稱已被當前地區下的其他使用者佔用,請更換一個未被使用的服務名稱後重試。
服務 ID 唯一性:PAI-EAS 服務 ID 具有全域唯一性,由系統自動分配,不可手動指定。
Q:服務部署後能否修改服務名稱?
不支援。服務名稱在建立後不可修改,作為服務的唯一識別碼用於 API 呼叫和管理操作。在控制台更新服務的表單中,服務名稱欄位為禁用狀態。如需更換名稱,請建立服務並刪除原服務,注意這將導致服務中斷和 IP 位址變更。
Q:PAI-EAS 模組停用後再次使用是否需要重新購買?找不到已購服務執行個體怎麼辦?
Q:修改儲存掛載配置後何時生效?是否需要重新部署服務?
儲存掛載配置屬於服務的部署配置,修改後不會動態生效。需通過更新服務作業提交修改,更新完成後,服務執行個體按新配置重啟,新的掛載關係才會生效。因此,修改儲存掛載配置後需要更新(重新部署)服務。
如果對服務連續性有要求,可以在更新服務時配置變換,避免服務中斷。
Q:更新服務配置導致掛載檔案丟失怎麼辦?
該問題通常由以下原因導致:
更新時刪除了原有的儲存掛載配置,或修改了掛載路徑,導致執行個體不再掛載原儲存。此時檔案並未丟失,仍儲存在原 OSS 或 NAS 中。
檔案被寫入了容器內的臨時本地碟,而非掛載目錄。執行個體重啟或更新後,本地碟資料會被清除。
對於第一種情況,將掛載配置恢複為更新前的配置並再次更新服務,即可重新看到檔案;對於第二種情況,資料無法恢複。需要持久儲存的資料應始終寫入 OSS 或 NAS 的掛載目錄,並在更新服務前確認掛載配置完整無誤。
其他
Q:部署EAS服務時選擇不到OSS Bucket?
部署EAS服務時,可以通過掛載方式配置模型和代碼。OSS儲存空間和NAS檔案系統必須與EAS服務位於同一地區,否則無法選擇。
Q:EAS 掛載 OSS 的儲存如何計費?如何評估容量?
EAS 本身不對儲存容量收費。掛載 OSS 後,儲存費用由 OSS 按實際儲存量和儲存類型計費,EAS 僅收取服務的計算資源費用。評估容量時,按模型、代碼、資料等檔案的實際大小估算即可;OSS 的儲存容量隨使用量彈性擴充,無需預先購買固定容量。
Q:EAS掛載OSS時通過預設公網網域名稱訪問被阻斷,如何處理?
可以使用以下替代方案:
使用內網網域名稱。
如需通過公網調用請使用自訂網域名。通過自訂網域名訪問 OSS 資源時,如果 OSS 所在地區為中國內地,該網域名稱需按監管要求完成 ICP 備案,未備案的網域名稱無法用於訪問。
Q:Tensorflow問題
詳情見TensorFlow常見問題。