Linux(CentoOS 8)增加交换分区mkswap,解决内存不够的问题

✍️Auth:star皆空       Date:2021/07/15       Cat:Linux服务器       👁️:425 次浏览

场景:买了一个低配置VPS,搭建了一个网站,用着用着有一天,网站崩溃,提示:An error occurred.
提示是nginx服务有问题,进入服务器。想查看服务状态,发现命令systemctl 也卡死。可以判断内存或者存储不够了。

查看内存:free -h

虚机交换分区为0,可使用内存也不够了,只能重新增加交换分区或者分换文件。
由于是低端配置服务器,这里只能用分出一个文件作为交换分区。

  1. 使用dd命令创建一个swap交换文件:
dd if=/dev/zero of=/swapfile bs=1024k count=1000

bs:块大小为1m,count:数量为1000个,总大小为1000m的交换文件。

  1. 设置文件权限以便只有 root 用户可以读写 swap 文件,即600权限,否则报错:
chmod 600 /swapfile
  1. 在这个文件上设置 为Linux swap:
 mkswap /swapfile
  1. 激活 swap 空间:
swapon /swapfile

最后查看free -h ,内存空间已被使用

  1. 为防止重启后swap分区变成0,修改/etc/fstab文件:
vim /etc/fstab

在最后加上这行,启动自动加载

/swapfile swap swap defaults 0 0


添加完后,运行命令systemctl可正常使用,重启nginx相关服务,网站恢复正常。

打赏作者

发表评论