在Linux创建swap分区来分担内存不足的痛

写在开头

内存不够的时候,数据库、应用程序总无法预料在某个时刻就突然宕掉了,让我们用swap来解决内存不足的痛。

正式开始

首先登录到服务器,然后切换到root账户下(如不切换请确定当前用户拥有sudo权限)

  1. 查看服务器是否已经开启了swap,如果有了就不要继续了
cat /proc/swaps
  1. 创建/data目录
mkdir /data
  1. 设置swap分区大小,并指定swap文件
dd if=/dev/zero of=/data/swap bs=512 count=8388616

此文件的大小是count的大小乘以bs大小,上面命令的大小是4294971392,即4GB

  1. 将/data/swap文件做成swap分区
mkswap /data/swap
  1. 查看内核参数vm.swappiness的值,如果为0就改成30或60
cat /proc/sys/vm/swappiness
vim /etc/sysctl.conf
vm.swappiness = 60
  1. 使内核参数立即生效
sysctl -p
  1. 启用分区
swapon /data/swap

如果不进行mkswap这一步,在启用分区的时候会报错“swapon: /data/swap: read swap header failed: Invalid argument”

  1. 查看swap分区是否设置成功
swapon -s
  1. 自动挂在swap分区
echo "/data/swap swap swap defaults 0 0" >> /etc/fstab

如果不想要了,可以关闭swap分区

swapoff /data/swap   
swapoff -a >/dev/null
写在结尾

内存不够最有效的方法就是加内存,但贫穷限制了我的想象力,只能通过swap分区来满足所需了。所以内存不够,又没钱加内存的时候,就开启swap分区吧。

本博客采用 知识共享署名-禁止演绎 4.0 国际许可协议 进行许可

本文标题:在Linux创建swap分区来分担内存不足的痛

本文地址:https://jizhong.plus/post/2018/03/linux-swap.html