基于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 -s
或free -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
版权属于:Pickle Piccolo
本文链接:https://blog.pickle.su/index.php/archives/86/
转载时须注明出处及本声明