最近云服务器内存不太够用了,利用swap扩展一下内存大小
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 7.6G 5.5G 299M 119M 1.9G 1.8G
Swap: 0B 0B 0B
我这里使用文件的方式进行扩展
[root@localhost ~]# dd if=/dev/zero of=/tmp/swapfile bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 13.684 s, 314 MB/s
创建swap
[root@localhost ~]# mkswap /tmp/swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=a1a876a9-ab9f-4635-968e-566cfb8710ca
[root@localhost ~]# swapon /tmp/swapfile
swapon: /tmp/swapfile: insecure permissions 0644, 0600 suggested.
修改fstab
[root@localhost ~]# vim /etc/fstab
添加如下内容
/tmp/swapfile swap swap defaults 0 0
查看swap
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/tmp/swapfile file 4194300 0 -2
修改 swappiness 参数
在 Linux 系统中,可以通过
cat /proc/sys/vm/swappiness
内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 15% 时才使用 SWAP 分区:
echo 15 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
vm.swappiness=15