Software engineering notes

Linux Swap

swap 指令

sudo swapon -a

sudo swapoff -a

釋放 swap

sudo swapoff -a
sudo swapon -a

查看 swap 狀態

swapon -s

另種方式看 Swap 的狀態

$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        711        281          0         83        418
-/+ buffers/cache:        209        782
Swap:            0          0          0

建立/增加 swap

建立 1G swap

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

掛載這個 Swap

sudo mkswap /swapfile
sudo swapon /swapfile

Swap 確實設定好了

swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvdb                               partition       262140  133804  -1
/swapfile                               file            1048572 0       -2


$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        896         95          0         18        660
-/+ buffers/cache:        217        775
Swap:         1023          0       1023

確寶每一次 swap 都會被啟動

/etc/fstab :

/swapfile   none         swap    sw      0       0

為了避免太差的效能, swappiness 應該設定 10, 可以讓 swap 作為緊急緩衝區, 預防用光記憶體導致 crash

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

設定正確權限給 swap file

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

ref : https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04