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

2 分的閱讀內容
0

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

簡短說明

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

  1. 計算交換空間大小。
  2. 在硬碟上建立一個分割區作為交換空間。
  3. 設定交換區。

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

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

如需更多有關交換空間的資訊,請參閱 Red Hat 網站上的交換空間

解決方法

計算交換空間大小

最佳實務是讓交換空間等於實體 RAM 的兩倍,最多可以使用 2 GB 的實體 RAM。對於任何大於 2 GB 的數量,請增加額外 0.5 倍的實體 RAM。最佳實務是不要讓交換空間降到 32 MB 以下。請參閱下表以計算交換空間大小:

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

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

若要在硬碟上建立分割區作為交換空間,請完成下列步驟:

  1. 使用 AWS System Manager 或 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. 重新啟動後,請完成下列步驟,使交換記憶體配置永久生效:
    blkid 命令列印 UUID:

    sudo blkid

    從上一個輸出複製交換分割區的 UUID。使用文字編輯器,例如 vi 或 nano,將以下內容新增至 /etc/fstab 檔案中:

    UUID=xxxxxxx none swap SW 0 0
  6. 儲存檔案,然後執行重新開機。

重新啟動作業系統後,請使用 free-h 命令來確認交換記憶體配置是否仍然存在。

AWS 官方
AWS 官方已更新 4 個月前