基于Debian 11/Ubuntu 22.04

准备

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

swapon -s
# 或
free -m

如果没有返回结果或者执行free -m后输出Swap一列数值是0,则表示系统没有Swap分区

创建SWAP分区

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

fallocate -l 8G /swapfile

如果报错,请安装util-linux包

apt install util-linux

之后设置这个文件的权限

chmod 600 /swapfile

然后激活SWAP分区

mkswap /swapfile
swapon /swapfile

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

设置开机自启

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

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

大功告成,使用free -m命令查看 Swap 分区是否正确,输出以下内容,即为分区正确

               total        used        free      shared  buff/cache   available
Mem:            3914        2976         118           0         819         708
Swap:           8191          34        8157

调整系统内核Swappiness值
Swapiness是Linux内核的一个属性,定义了系统使用交换空间的频率,Swapiness的值在0到100之间(默认是30或60),一个低的值会使内核尽可能地避免交换,而一个高的值会使内核更积极地使用交换空间;但越积极地使用交换空间,意味着对CPU的压力越大

可以使用cat /proc/sys/vm/swappiness命令查看当前值

输入以下命令自定义Swappiness值,比如将其改为10

echo "vm.swappiness=10" >> /etc/sysctl.conf

使用命令使自定义生效

sysctl -p

关闭Swap

有时候我们需要关闭 Swap 分区,可以使用下面的命令

先停用 Swap 分区

swapoff -v /swapfile

然后检查/etc/fstab,删除/swapfile swap swap defaults 0 0这一行

最后删除/swapfile文件

rm /swapfile
最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏