Debian / Ubuntu 创建、挂载 swap 分区文件

Debian 系推荐使用swap文件当作交换分区,无需像以往一样需要单独在磁盘上创建一个swap分区。

所以本文将使用swap文件来当作交换分区,步骤如下:

检查系统是否已经有 Swap 分区:

lsw@rangotec.com:~$ swapon -s
Filename Type Size Used Priority
/swapfile file 8388604 0 -2

如上,则说明已经有交换分区了,或者:

lsw@rangotec.com:~$ free -h
total used free shared buff/cache available
Mem: 15Gi 5.9Gi 7.1Gi 275Mi 3.1Gi 9.6Gi
Swap: 8.0Gi 0B 8.0Gi

返回结果包含swap行,说明系统中已经有交换分区了

如果检查上述结果没有swap交换分区,则可以通过以下方法创建、挂载:

1.  创建 SWAP 分区

使用 fallocate 命令创建一个 8GB 大小的 Swap 分区:

# fallocate -l 8G /swapfile

如果fallocate命令无法使用,请安装 util-linux 包:

# apt install util-linux

2. 然后设置交换文件  的权限:

# chmod 600 /swapfile

3. 激活 SWAP 分区

# mkswap /swapfile
# swapon /swapfile

此时,可以使用 swapon -s 或 free -m 命令查看 Swap 分区是否已经激活。

设置开机自启:

编辑 /etc/fstab 文件,加入下面的内容即可:

echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

验证:

使用文章开头的方法验证交换分区状态。

调整系统内核 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 分区:

# swapoff -v /swapfile

删除 /etc/fstab文件里的交换分区行。

/swapfile swap swap defaults 0 0

最后删除 /swapfile 个文件

# rm /swapfile
评论列表: