创建swap分区
创建swap分区两种方法,一种挂载磁盘,一种创建文件的形式
第一种:先划分一个磁盘,比如:/dev/vdb
格式化:mkswap /dev/vdb
启用:swapon /dev/vdb
在/etc/fstab文件中添加
/dev/vdb swap swap defaults 0 0
卸载当前swap空间:swapoff -a
第二种:创建swap文件
创建用于交换分区的文件(bs*count=文件大小):dd if=/dev/zero of=/swapfile bs=1G count=5
这里的block_size、number_of_block 大小可以自定义,swapfile文件存放路径自定义(推荐/目录下)比如 bs=1G count=5 代表设置 5G 大小 SWAP 分区。
生效swap文件(这里不适合说格式化)
mkswap /swapfile
启用swap文件
swapon /swapfile
这个命令可能会提示“swapon: /swapfile: insecure permissions 0644, 0600 suggested.”,意思是建议把swap设置成644或600权限。
设置开机自动生效
在/etc/fstab文件中添加
/swapfile swap swap defaults 0 0
修改 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
一般内存不足才会启用swap,这里在介绍一种释放内存方法(这里3换成2或1都可以):
echo 3 > /proc/sys/vm/drop_caches