使用 Amazon Linux 為 t1.micro Amazon EC2 執行個體製作交換文件

使用 Amazon Linux 為 t1.micro Amazon EC2 執行個體製作交換文件

我正在將t1.microEC2 執行個體與 Amazon Linux 結合使用。由於微實例的 RAM 有限(總共 589MB RAM),對於安裝和編譯 Python 套件等許多操作來說是不夠的。一些教學建議我使用交換文件來提高效能,如下所示:

sudo fallocate -l 1G /tmp/swapfile
sudo chmod 600 /tmp/swapfile
sudo mkswap /tmp/swapfile
sudo swapon /tmp/swapfile

並透過以下方式刪除它:

sudo swapoff /tmp/swapfile
sudo rm /tmp/swapfile

我認為這會增加磁碟 I/O,但有利於整體效能。我是否應該在作業系統啟動時啟用大型交換文件並使其始終處於活動狀態?如果是,如何實現這個目標?

僅供參考:命令的輸出free -m如下:

[ec2-user@myhostname ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:           589        340        249          0         13         97
-/+ buffers/cache:        229        360
Swap:            0          0          0

答案1

透過以下方式創造交換空間:

sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=1024 
    (# bs*count = file size)

sudo mkswap /tmp/swapfile

sudo chmod 600 /tmp/swapfile
    (# for security reasons)

sudo swapon /tmp/swapfile

free -h

刪除方式:

swapoff /tmp/swapfile

rm -f /tmp/swapfile

相關內容