如何使用硬碟上的分割區配置記憶體以用作 Amazon EC2 執行個體上的交換空間?

2 分的閱讀內容
0

我想使用硬碟上的分割區配置記憶體以用作 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的交換空間。我該怎麼做?

簡短描述

若要將記憶體配置為交換空間,請執行下列動作:

1.    計算交換空間大小。

2.    在硬碟上建立一個分割區作為交換空間。

3.    設定交換區域。

您也可以建立用作交換空間的交換檔案。如需詳細資訊,請參閱如何使用交換檔案配置記憶體以用作 Amazon EC2 執行個體中的交換空間?

**注意:**RAM 容量已滿時,執行個體會使用交換空間。交換空間可用於具有少量 RAM 的執行個體,但不能取代更多 RAM。由於交換空間位於執行個體的硬碟上,因此效能低於實際 RAM。如需更多或更快的記憶體,請考慮增加執行個體大小。

解決方法

計算交換空間大小

最佳實務是交換空間等於實體 RAM 的 2 倍,最多可容納 2 GB 的實體 RAM。對於超過 2 GB 的任何容量,請新增一個額外的 1x 實體 RAM。最佳實務是交換空間永遠不小於 32 MB。

系統 RAM 容量建議的交換空間
2 GiB RAM 或更少RAM 容量的 2 倍,但永不小於 32 MB
超過 2 GiB RAM,但小於 64 GiBRAM 容量的 0.5 倍
超過 64 GiB取決於工作負載或使用案例

在硬碟上建立一個分割區作為交換空間

1.    使用 SSH 登入執行個體。

2.    列出可用的磁碟區:

$ sudo fdisk -l

3.    從清單中選取要分區的裝置。在此範例中,使用裝置 /dev/xvda

$ sudo fdisk /dev/xvda

4.    建立新的分割區:

-> n

5.    選取分割區類型。在此範例中,使用主要:

-> p

6.    指派分割區編號。在此範例中,使用分割區 2

-> 2

7.    透過按下 Enter 鍵接受「第一個磁區」的預設值。

8.    輸入交換檔案的大小。在此範例中,有 2 GB RAM,而建立的分割區為 4 GB (指定為 +4G)。

-> +4G

9.    儲存並結束:

-> w

設定交換區

1.    使用 partprobe 命令通知作業系統關於分割區表格變更:

$ partprobe

2.    使用您在上述步驟中建立的交換分割區來設定 Linux 交換區域。在此範例中,交換分割區為 /dev/xvda2

$ mkswap /dev/xvda2

3.    將分割區新增為交換空間:

$ sudo swapon /dev/xvda2

4.    顯示目前交換空間:

$ sudo swapon -s

然後出現類似下列內容的輸出:

Filename                Type        Size      Used    Priority
/dev/xvda2              partition   4194300   0       -1

5.    使用下列命令,使交換記憶體配置在重新開機之後永久生效:

**注意:**如果 xvda2 不是您的交換裝置名稱,請用環境中的交換裝置名稱取代此詞彙。

$ cp /etc/fstab /etc/fstab_$(date +%Y%m%d%H%M%S)
$ cat <<EOF >> /etc/fstab
`sudo blkid /dev/xvda2 | grep -Eo '[[:alnum:]]{8}(-[[:alnum:]]{4}){3}-[[:alnum:]]{12}'` swap swap defaults 0 0
EOF
$ reboot

相關資訊

交換空間

AWS 官方
AWS 官方已更新 2 年前