出于 SSD 寿命考虑,现在的云服务器默认不设置 swap 交换分区,如要的话可以自行设置。

一、查看是否启用了 swap

root@nextcloud:~# cat /proc/swaps 
Filename				Type		Size	Used	Priority

二、创建 swap 分区文件

bs 乘以 count 等于 swap 分区大小,即 2GB。

root@nextcloud:~# dd if=/dev/zero of=/var/swap bs=512 count=4194308
4194308+0 records in
4194308+0 records out
2147485696 bytes (2.1 GB, 2.0 GiB) copied, 13.0225 s, 165 MB/s

三、生成 swap 分区

root@nextcloud:~# mkswap /var/swap 
mkswap: /var/swap: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=eb145f2b-80f7-4795-858e-dd5aceb7bcee

修改 swap 权限:

root@nextcloud:~# chmod 0600 /var/swap

四、调整内核设置

查看内核 vm.swappiness 的值,通常设置成 30 或 60:

root@nextcloud:~# cat /proc/sys/vm/swappiness 
60

如果值为 0,则修改:

sysctl -w vm.swappiness=60

五、启用 swap 分区

root@nextcloud:~# swapon /var/swap

设置 swap 分区开机自动挂载:

root@nextcloud:~# echo "/var/swap swap swap defaults    0  0" >> /etc/fstab