

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

# 對 RDS for Oracle 執行個體開啟巨型分頁
<a name="Oracle.Concepts.HugePages"></a>

Amazon RDS for Oracle 支援 Linux 核心巨型分頁，以提高資料庫可擴展性。巨型分頁會造成較小型的分頁資料表，以及耗費在記憶體管理方面較少的 CPU，增加大型資料庫執行個體的效能。如需詳細資訊，請參閱 Oracle 文件中的[巨型分頁的概觀](https://docs.oracle.com/database/121/UNXAR/appi_vlm.htm#UNXAR400)。

您可以使用 HugePages 搭配 RDS for Oracle 的所有支援版本：

 `use_large_pages` 參數可控制是否已對資料庫執行個體開啟巨型分頁。此參數可能的設定為 `ONLY`、`FALSE` 和 `{DBInstanceClassHugePagesDefault}`。在 Oracle 的預設資料庫參數群組中，`use_large_pages` 參數是設為 `{DBInstanceClassHugePagesDefault}`。

若要控制是否對資料庫執行個體自動開啟巨型分頁，您可以在參數群組中使用 `DBInstanceClassHugePagesDefault` 公式變數。該值的判斷方式如下所示：
+ 針對下表提及的資料庫執行個體類別，依預設 `DBInstanceClassHugePagesDefault` 一律會評估為 `FALSE`，而 `use_large_pages` 則評估為 `FALSE`。如果資料庫執行個體類別擁有至少 14 GiB 的記憶體，則您可對這些資料庫執行個體手動開啟巨型分頁。
+ 針對下表未提及的資料庫執行個體類別，如果執行個體類別有少於 14 GiB 的記憶體，`DBInstanceClassHugePagesDefault` 一律會評估為 `FALSE`。此外， `use_large_pages` 評估為 `FALSE`。
+ 針對下表未提及的資料庫執行個體類別，如果執行個體類別有至少 14 GiB，且少於 100 GiB 的記憶體，依預設 `DBInstanceClassHugePagesDefault` 會評估為 `TRUE`。此外， `use_large_pages` 評估為 `ONLY`。您可將 `use_large_pages` 設定為 `FALSE`，手動關閉巨型分頁。
+ 針對下表未提及的資料庫執行個體類別，如果執行個體類別有至少 100 GiB 的記憶體，`DBInstanceClassHugePagesDefault` 一律會評估為 `TRUE`。此外，`use_large_pages` 評估為 `ONLY` 且無法停用巨型分頁。

針對下列資料庫執行個體類別，依預設不會開啟巨型分頁。


****  

| 資料庫執行個體類別系列 | 依預設不會開啟具有巨型分頁的資料庫執行個體類別 | 
| --- | --- | 
|  db.m5  |  db.m5.large  | 
|  db.m4  |  db.m4.large、db.m4.xlarge、db.m4.2xlarge、db.m4.4xlarge、db.m4.10xlarge  | 
|  db.t3  |  db.t3.micro、db.t3.small、db.t3.medium、db.t3.large  | 

如需資料庫執行個體類別的詳細資訊，請參閱[ 資料庫執行個體類別的硬體規格](Concepts.DBInstanceClass.Summary.md)。

若要對新的或現有的資料庫執行個體手動開啟巨型分頁，請將 `use_large_pages` 參數設定為 `ONLY`。您無法將巨型分頁用於 Oracle 自動記憶體管理 (AMM)。如果您將參數 `use_large_pages` 設定為 `ONLY`，則必須也將 `memory_target` 和 `memory_max_target` 設定為 `0`。如需設定資料庫執行個體之資料庫參數的詳細資訊，請參閱[Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md)。

您也可以設定 `sga_target`、`sga_max_size` 和 `pga_aggregate_target` 參數。設定系統全域區域 (SGA) 和程式全域區域 (PGA) 記憶體參數時，請將值一起新增。從您的可用執行個體記憶體 (`DBInstanceClassMemory`) 減去這個總計，以判斷巨型分頁配置以外的可用記憶體。您必須保留至少 2 GiB 的可用記憶體，或可用執行個體記憶體總數的 10%，以較小者為準。

設定參數之後，必須將您的資料庫執行個體重新開機，變更才能生效。如需更多詳細資訊，請參閱 [在資料庫執行個體](USER_RebootInstance.md)。

**注意**  
Oracle 資料庫執行個體會延遲對 SGA 相關初始化參數的變更，直到您重新啟動執行個體而不進行容錯移轉為止。在 Amazon RDS 主控台中，選擇 **Reboot (重新開機)**，但*不要*選擇 **Reboot with failover (使用容錯移轉重新開機)**。在 AWS CLI中，使用 `reboot-db-instance` 參數呼叫 `--no-force-failover` 命令。在容錯移轉期間或導致執行個體重新啟動的其他維護作業期間，資料庫執行個體不會處理 SGA 相關的參數。

下列是可手動啟用巨型分頁之巨型分頁的參數組態範例。您應該設定這些值以符合您的需求。

```
1. memory_target            = 0
2. memory_max_target        = 0
3. pga_aggregate_target     = {DBInstanceClassMemory*1/8}
4. sga_target               = {DBInstanceClassMemory*3/4}
5. sga_max_size             = {DBInstanceClassMemory*3/4}
6. use_large_pages          = ONLY
```

假設參數群組中設定了下列參數值。

```
1. memory_target            = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target        = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target     = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target               = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size             = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages          = {DBInstanceClassHugePagesDefault}
```

參數群組由具有少於 100 GiB 記憶體的 db.r4 資料庫執行個體類別所使用。使用這些參數設定並將 `use_large_pages` 設定為 `{DBInstanceClassHugePagesDefault}`，巨型分頁會在 db.r4 執行個體上開啟。

考慮在參數群組中設定了下列參數值的另一個範例。

```
1. memory_target           = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
2. memory_max_target       = IF({DBInstanceClassHugePagesDefault}, 0, {DBInstanceClassMemory*3/4})
3. pga_aggregate_target    = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*1/8}, 0)
4. sga_target              = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
5. sga_max_size            = IF({DBInstanceClassHugePagesDefault}, {DBInstanceClassMemory*3/4}, 0)
6. use_large_pages         = FALSE
```

參數群組是由 db.r4 DB 資料庫執行個體類別和 db.r5 資料庫執行個體類別所使用，兩個的記憶體都小於 100 GiB。使用這些參數設定，巨型分頁會在 db.r4 和 db.r5 執行個體上關閉。

**注意**  
如果此參數群組是由具有至少 100 GiB 記憶體的 db.r4 資料庫執行個體類別或 db.r5 資料庫執行個體類別所使用，即會覆寫 `FALSE` 的 `use_large_pages` 設定，並將其設定為 `ONLY`。在此情況下，即會傳送關於覆寫的通知給客戶。

巨型分頁在您的資料庫執行個體上作用後，您可以透過啟用增強型監控來檢視巨型分頁資訊。如需詳細資訊，請參閱[使用增強型監控來監控作業系統指標](USER_Monitoring.OS.md)。