

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解 EMR Serverless 中的應用程式行為
<a name="app-behavior"></a>

本節說明任務提交行為、擴展的容量組態，以及 EMR Serverless 的工作者組態設定。

## 預設應用程式行為
<a name="auto-start-stop"></a>

**自動啟動** — 根據預設，應用程式設定為在提交任務時自動啟動。您可以關閉此功能。

**自動停止** — 根據預設，應用程式會設定為在閒置 15 分鐘時自動停止。當應用程式變更為 `STOPPED` 狀態時，它會釋出任何設定的預先初始化容量。您可以修改應用程式自動停止之前的閒置時間量，也可以關閉此功能。

## 容量上限
<a name="max-capacity"></a>

您可以設定應用程式可擴展的最大容量。您可以指定 CPU、記憶體 (GB) 和磁碟 (GB) 的最大容量。

**注意**  
最佳實務是將您的最大容量設定為與支援的工作者大小成比例，方法是將工作者數量乘以其大小。例如，如果您想要將應用程式限制為 50 個工作者，其中包含 2 個 vCPUs、16 GB 的記憶體，以及 20 GB 的磁碟，請將最大容量設定為 100 個 vCPUs、800 GB 的記憶體，以及 1000 GB 的磁碟。

## 支援的工作者組態
<a name="worker-configs"></a>

下表列出可指定給 EMR Serverless 的支援工作者組態和大小。根據工作負載的需求，為驅動程式和執行器設定不同的大小。


**工作者組態和大小**  

| CPU | 記憶體 | 預設暫時性儲存 | 
| --- | --- | --- | 
|  1 vCPU  |  最小 2 GB，最大 8 GB，以 1 GB 遞增  |  20 GB - 200 GB  | 
|  2 vCPU  |  最小 4 GB，最大 16 GB，以 1 GB 遞增  |  20 GB - 200 GB  | 
|  4 vCPU  |  最小 8 GB，最大 30 GB，以 1 GB 為增量單位  |  20 GB - 200 GB  | 
|  8 vCPU  |  最小 16 GB，最大 60 GB，以 4 GB 為單位遞增  |  20 GB - 200 GB  | 
|  16 vCPU  |  最小 32 GB，最大 120 GB，以 8 GB 遞增  |  20 GB - 200 GB  | 

**CPU** — 每個工作者可以有 1、2、4、8 或 16 vCPUs。

**記憶體** — 每個工作者都有記憶體，以 GB 為單位，在先前資料表中列出的限制內。Spark 任務具有記憶體負荷，表示其使用的記憶體超過指定的容器大小。此額外負荷是使用 屬性 `spark.driver.memoryOverhead`和 來指定`spark.executor.memoryOverhead`。額外負荷的預設值為容器記憶體的 10%，下限為 384 MB。當您選擇工作者大小時，應考慮此額外負荷。

例如，如果您為工作者執行個體選擇 4 vCPUs，且預先初始化的儲存容量為 30 GB，則將 值設定為 Spark 任務的執行器記憶體約 27 GB。這可將預先初始化容量的使用率最大化。可用記憶體為 27 GB，加上 27 GB (2.7 GB) 的 10%，總共 29.7 GB。

**磁碟** — 您可以使用大小下限為 20 GB 且上限為 200 GB 的暫存儲存磁碟來設定每個工作者。您只需為超過您為每個工作者設定的 20 GB 的額外儲存付費。