手工添加 Swap 分区

本文将指导如何在Debian和Ubuntu下手工添加 Swap 分区。

准备工作

首先,检查你的系统是否已经有 Swap 分区:
swapon -s

free -m
如果没有返回结果或者 free -m 中 Swap 一列数值是 0,则表示你的系统没有 Swap 分区。

创建 SWAP 分区

分区原则:小于2G的内存,建议分配2倍实际内存大小;2~8G内存,建议分配等同实际内存大小

  1. Debian系统:我们可以使用 fallocate 命令创建一个 1GB 大小的 Swap 分区,如果这个命令无法使用,请先安装 util-linux 包(apt install util-linux)。
    fallocate -l 1G /swapfile
  2. Alpine系统:使用dd创建一个 /root/swapfile 文件,块大小为1M,共512块,也就是创建了一个0.5GB的文件。
    dd if=/dev/zero of=/swapfile bs=1024 count=524288
设置权限
  1. 设置这个文件的权限:chmod 600 /swapfile
  2. 激活 SWAP 分区:
    • mkswap /swapfile
    • swapon /swapfile
  3. 此时,你可以使用 swapon -s 或 free -m 命令查看 Swap 分区是否已经激活。
设置开机自启
  1. 我们需要编辑 /etc/fstab 这个文件,加入下面的内容即可:
    echo “/swapfile swap swap defaults 0 0” >> /etc/fstab
  2. 大功告成,使用命令查看 Swap 分区是否正确:
    free -m
调整系统内核 Swappiness 值

Swapiness 是 Linux 内核的一个属性,定义了系统使用交换空间的频率,Swapiness 的值在 0 到 100 之间 (默认是 60),一个低的值会使内核尽可能地避免交换,而一个高的值会使内核更积极地使用交换空间。
这个值默认是 60,我们可以使用 cat /proc/sys/vm/swappiness 命令查看当前值。
一般我们可以给他改成 10:
echo “vm.swappiness=10” >> /etc/sysctl.conf
然后使用命令使其生效:
sysctl -p

关闭 Swap

有时候我们需要关闭 Swap 分区,可以使用下面的命令:
首先,停用 Swap 分区:
swapoff -v /swapfile

删除swap
  1. 检查 /etc/fstab,删除 /swapfile swap swap defaults 0 0 这一行。
  2. 最后删除 /swapfile 这个文件:rm /swapfile

类似文章

一条评论

回复 susa991 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注