1. 创建用于交换分区的文件
如在/swapfile下创建一个8g大小的swap_8g文件
sudo dd if=/dev/zero of=/swapfile/swap_8g bs=1G count=8
2. 设置为交换分区文件:
sudo mkswap /swapfile/swap_8g
3.更改swap文件权限
不设置的话下一步会提示swapon: /swapfile/swap_8g: insecure permissions 0644, 0600 suggested.
sudo chmod 600 /swapfile/swap_8g
4.立即启用交换分区文件:
sudo swapon /swapfile/swap_8g
5. 运行free -m可以看到
swap的大小了。
注:如果在 /etc/rc.local
中有 swapoff -a
需要修改为 swapon -a
6. 在 /etc/fstab
中添加如下一行,使之永久生效
/swapfile/swap_8g swap swap defaults 0 0
7. 修改 swpapiness
参数
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness
内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:echo 10 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf
文件,并增加以下内容:vm.swappiness=10