最近開了一台最小的 Droplets 就是 $5 美金的,我真的覺得 CP 值蠻高的,開來做一些練習用,不過 ram 只有 512mb,如果不加 Swap 的話很容易就把 ram 吃光了,昨天再跑 yarn 的時候一直有問題,才發現是 ram 爆了。

步驟很簡單,立刻開始進行,以下是以 2gb 的 Swap 為範例,可以自行調整合適的大小,首先執行


dd if=/dev/zero of=/swapfile count=2048 bs=1MiB

檢查一下


ls -lh /swapfile

應該有如下結果


-rw-r--r-- 1 root root 2.0G Oct 30 11:00 /swapfile

調整權限


chmod 600 /swapfile

設定 Swap


mkswap /swapfile

使用 Swap


swapon /swapfile

確認 Swap 生效


free -m

加入到開機掛載


vi /etc/fstab

加入這行


/swapfile swap swap sw 0 0

官網建議的一些效能設定


sysctl vm.swappiness=10
sysctl vm.vfs_cache_pressure=50

避免重開機失效


vi /etc/sysctl.conf

加入以下兩行


vm.swappiness = 10
vm.vfs_cache_pressure = 50

DigitalOcean 官方有寫一篇教學,但第一步使用 fallocate -l 2G /swapfile 產生 Swapfile 會有問題,好像是因為 XFS 格式的問題,所以要改成使用 dd if=/dev/zero of=/swapfile count=2048 bs=1MiB。