我想配置記憶體以用作 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的交換檔案。我該怎麼做?
簡短描述
當實體 RAM 已在使用中時,Amazon EC2 執行個體會使用交換空間來短暫替代實體 RAM。
非使用中或不像其他資料或指令一樣緊急需要的 RAM 內容,可以暫時分頁到交換檔案。這可以釋放 RAM 以便立即使用。
您也可以在分割區上建立交換空間。如需詳細資訊,請參閱如何使用硬碟上的分割區配置記憶體以作為 Amazon EC2 執行個體上的交換空間?
**注意:**最佳實務是僅在暫時性儲存執行個體儲存體磁碟區上建立交換空間。
解決方法
在開始此解決方法之前,確認您的檔案系統是否支援使用交換檔案。
注意: 支援大多數常見的檔案系統 (ext3, ext4, XFS)。對於其他檔案系統來說,這可能會不一樣。它是檢閱最新的檔案系統文件的最佳實務。
計算交換空間大小
如需如何計算交換空間大小的相關資訊,請參閱下列內容:
建立交換檔案
1. 使用 dd 命令在根檔案系統上建立交換檔案。在命令中,bs 是區塊大小,count 是區塊數量。交換檔案的大小是區塊大小選項乘以 dd 命令中的計數選項。調整這些值以決定所需的交換檔案大小。
您指定的區塊大小應小於執行個體上的可用記憶體,否則您會收到「記憶體耗盡」錯誤訊息。
在這個範例 dd 命令中,交換檔案是 4 GB (128 MB x 32):
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32
2. 更新交換檔案的讀取和寫入許可:
$ sudo chmod 600 /swapfile
3. 設定 Linux 交換區域:
$ sudo mkswap /swapfile
4. 透過將交換檔案新增至交換空間,讓交換檔案可立即使用:
$ sudo swapon /swapfile
5. 確認程序成功:
$ sudo swapon -s
6. 透過編輯 /etc/fstab 檔案,在開機時啟動交換檔案。
在編輯器中開啟檔案:
$ sudo vi /etc/fstab
在檔案結尾新增下列新行、儲存檔案,然後結束:
/swapfile swap swap defaults 0 0
相關資訊
RHEL – 新增交換空間