原文:https://blog.csdn.net/xiaojian90/article/details/51933001
查看swap空间使用情况
sudo swapon -s
由于VPS上面没有使用swap,得出的结果是一个空的列表:
Filename Type Size Used Priority
查看硬盘使用情况
df -lh
这是服务器上的输出,可以看到还有17G的可用空间,有足够的空间去分配swap空间了。
Filesystem Size Used Avail Use% Mounted on
/dev/vda 20G 2.1G 17G 11% /
udev 237M 12K 237M 1% /dev
tmpfs 99M 228K 98M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 246M 0 246M 0% /run/shm
创建并启用swap文件
sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
这样就创建了一个512M的swap文件,文件名是swapfile,放在根目录下。如果想要更大的swap空间,可以将上述命令中的512改为合适的值。 接着创建swap交换区。
sudo mkswap /swapfile
根据文件大小,需要稍等一会才能执行完毕。执行完后可以看到类似的输出:
Setting up swapspace version 1,size = 262140 KiB
no label,UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb
激活交换文件:
sudo swapon /swapfile
查看swap空间使用情况:
sudo swapon -s
激活成功后的输出结果是:
Filename Type Size Used Priority
/swapfile file 524284 38936 -1
设置开机自动挂载swap文件
这样设置完,重启服务器后,swap交换区的信息将丢失。修改/etc/fstab文件可以实现开机自动挂载。
/swapfile none swap sw 0 0
修改swappiness参数,提高swap交换区性能
echo 0 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 0 | sudo tee -a /etc/sysctl.conf
设置为0后,swap仅在内存不足的时候才会使用,这样可以提高性能。
设置swap文件访问权限
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
这样只有root用户才能对swap有读写权限。