增加swap(文件)

创建swap

生成一个空文件(2048M)

1
2
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile

标记成swap文件

1
sudo mkswap /swapfile

手动挂载swap

1
2
3
4
5
挂载: 
sudo swapon /swapfile

卸载:
sudo swapoff /swapfile

开机自动挂载

vim /etc/fstab添加一行

1
/swapfile   swap  swap  defaults  0  0

删除swap(文件)

查看swap文件地址

1
swapon

手动关闭swap

1
sudo swapoff /swapfile

删除swap文件

1
sudo rm -f /swapfile

取消开机自动挂载

vim /etc/fstab, 删除包含swapfile的一行

调整内核 swap 策略

swap 使用是根据内核参数 vm.swappiness 决定的, 数值越大表示内核会更加积极的将内存中的数据移动到Swap分区

vm.swappiness 含义
0 指示内核尽可能避免交换。
10-50 指示内核在换出内存页面时稍微积极一些
50-100 指示内核在换出内存页面时适度积极
100 指示内核在换出内存页面时非常积极

查看内核参数

1
2
sysctl -a
sysctl vm.swappiness

临时修改

方法一

1
sysctl vm.swappiness=100

方法二

1
echo "100" > /proc/sys/vm/swappiness

永久修改

vim /etc/sysctl.conf

1
vm.swappiness = 100

执行 sysctl -p 马上生效。