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

Posted the丶only

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux(CentoOS 8)增加交换分区mkswap,解决内存不够的问题相关的知识,希望对你有一定的参考价值。

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

查看内存:free -h
在这里插入图片描述
虚机交换分区为0,可使用内存也不够了,只能重新增加交换分区或者分换文件。
由于是低端配置服务器,这里只能用分出一个文件作为交换分区。

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

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

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

最后查看free -h ,内存空间已被使用
在这里插入图片描述

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

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

/swapfile1 swap swap defaults 0 0


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

以上是关于Linux(CentoOS 8)增加交换分区mkswap,解决内存不够的问题的主要内容,如果未能解决你的问题,请参考以下文章

系统篇: linux 下增加交换分区

Linux环境下增加swap交换分区

Linux CentOS 8(交换分区的添加与管理)

Linux CentOS 8(交换分区的添加与管理)

Linux下怎样增加虚拟内存

linux设置开启swap交换分区基本命令(虚拟内存)