停止與銷毀
這是產品中最重要的區別,也是最常造成意外帳單的一個。請認真讀一次。
簡短版本
| 停止 | 銷毀 | |
|---|---|---|
| 容器 | 關閉 | 移除 |
| 你的硬碟與其內容 | 保留 | 永久刪除 |
| GPU 插槽 | 為你保留(餘額用完時除外) | 釋回市集 |
| GPU 費用 | 停止 | 停止 |
| 儲存費用 | 持續累計 | 停止 |
| 可以再繼續用嗎? | 可以,就地繼續 | 不行 |
停止是仍然要花錢的暫停。銷毀是不可逆的,之後不會再產生任何費用。
為什麼停止仍然會對你計費
當你停止執行個體時,你的硬碟仍留在那台實體機器上,而那台機器沒辦法把這塊空間讓給別人。只要執行個體以停止狀態存在,你就得依儲存費率 — 以每 GB 每小時報價 — 為這份佔用付費。
GPU 本身不再計費,停止期間你只付儲存費用。你自己停止的執行個體一直佔著那個切片:這些 GPU 不會回到市集上(餘額用完時除外,見下文),你也不需要排隊佔位。
這表示一顆被你遺忘的大硬碟就是一條緩慢又安靜的漏財管道。一個 500 GB 的磁碟區停著放一個月,即使什麼都沒跑,也會實實在在地花掉錢。
如果工作已經做完,就銷毀它。停止是給「我下午就回來」用的,不是給「我做完了」用的。
為什麼 GPU 插槽很重要
你自己停止執行個體時,它會保留你在那台特定機器上的位置。當你再次啟動時,你會回到同樣的硬體、同樣的硬碟上 — 不用重新下載、不用重新設定,也不會有你離開期間報價被別人租走的風險。
銷毀會立刻釋出這個位置。報價回到市集上,別人可能在幾秒內就把它拿走。你沒有辦法把它要回來。
餘額用完時就不一樣了。在機器支援的地方,平台這時會把 GPU 釋回市集——被自動停止的執行個體是這樣,你之前自己停止的執行個體也是這樣——硬碟仍然留在各自的機器上。之後啟動要拿回同一台機器上原來那幾張 GPU:它們空閒時,執行個體照常啟動;正被別人使用,或者在那台機器上已停止服務時,啟動會失敗,執行個體維持停止、硬碟完好。啟動成功之前,誰也拿不到硬碟上的資料,所以請稍後再試;只有不再需要這些資料時才銷毀執行個體,因為銷毀會刪除硬碟。請參閱 GPU 被釋放之後。
你該用哪一個?
當下列條件全部成立時,選停止:
- 你會在幾小時或一兩天內回來。
- 硬碟上有你不想重建的狀態 — 資料集、conda 環境、檢查點。
- 硬碟夠小,儲存費用比重建所花的時間更划算。
當下列任一條件成立時,選銷毀:
- 工作已經結束。
- 所有有價值的東西都已經推到別的地方 — 物件儲存、git 遠端、模型登錄庫。
- 硬碟很大,重新下載比放著佔位便宜。
銷毀之前
銷毀會刪除硬碟。沒有快照、沒有資源回收筒,也沒有復原。請先把你在意的東西從執行個體上複製出來:
# from your own machine — port, user and host are the ones in the
# connect command on the instance's Connect tab
scp -P <port> -r <user>@<host>:/workspace/checkpoints ./checkpoints
或者把它推到該去的地方 — 物件儲存(例如阿里雲 OSS)、git 遠端。注意從中國大陸的機器存取境外服務可能很慢或無法連線。
系統自己會做的事
有兩個自動動作套用同樣的區別,用來避免被遺忘的執行個體把帳號掏空:
- 當你的餘額到達 ¥0 時,執行中的執行個體會被停止。你的資料還在;儲存費用會繼續記在一個已經見底的餘額上。在機器支援的地方,這些執行個體的 GPU 會被釋放,你先前自己停止的執行個體佔著的 GPU 也一樣(見上文)。
- 如果餘額此後在 ¥0 或以下持續 24 小時,並且下滑到 −¥35 或更低,已停止的執行個體會被銷毀。到那個時候資料就沒了。
請在那之前儲值。請參閱計費如何運作。