对于常见的廉价 VPS,一般仅提供了 1G 左右的内存,通常情况下应付小应用是没问题的,但比如 Discourse 或者 java 程序,就显得不足了。
配置适当的 Swap 交换分区,可以让系统在物理内存耗尽之后,将内存临时保存至 Swap 分区,以腾出物理内存。
下面是简易教程,参考自 Linuxize,以 root 用户为例,非 root 用户请在命令前添加 sudo
创建 swap 分区
- 查看系统内存情况,如 Swap 一行为 0,即未设置 Swap 内存。
free -m
- 创建 1G 大小的 swap 文件,并挂载到 /swapfile,直接修改 1G 为 2G 可创建 2G 大小的 swap 文件。
fallocate -l 1G /swapfile
如 fallocate 提示不支持( fallocate failed: Operation not supported
)请使用 dd
命令
dd if=/dev/zero of=/swapfile bs=1024 count=1048576
- 设置 /swapfile 权限为 600
chmod 600 /swapfile
- 设置 swap 分区:
mkswap /swapfile
- 激活 swap 分区
swapon /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
- 验证 swap 分区是否成功
free -m
输出:
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
Swap 行能看到设置大小的数字即可。
删除 swap 分区
swapoff -v /swapfile
rm /swapfile
完毕,遇到问题可以留言贴上错误代码。