背景:同事说ubuntu 22.04通过常规的方式方法关闭swap,开机后还是会自动挂在swap
因为之前写过在ubuntu上ansible自动化部署kubernetes就发现了这个问题,当时就在playbook文件里面写了关闭方法,这里在拿出来细分下
通过测试是完全支持ubuntu 20版本及以上版本永久关闭swap
查看系统是否挂在SWAP
# 通过free -m查看系统是否有挂在swap
root@docerlab:~# free -m
total used free shared buff/cache available
Mem: 1963 244 1376 1 342 1565
Swap: 2047 0 2047
root@docerlab:~#
临时关闭SWAP
# 临时关闭swap
root@docerlab:~# root@docerlab:~# swapoff -a
# 注释/etc/fstab内的文件
root@docerlab:~# sed -i 's/.*swap.*/#&/g' /etc/fstab
# 检查临时关闭了swapp
永久关闭SWAP
# 通过systemctl list-unit-files抓取包含swap的信息
root@docerlab:~# systemctl list-unit-files | grep swap
swap.img.swap generated -
swap.target static -
root@docerlab:~#
# systemctl list-unit-files --type=swap抓取类型是swap的信息
root@docerlab:~# systemctl list-unit-files --type=swap
UNIT FILE STATE VENDOR PRESET
swap.img.swap generated -
1 unit files listed.
root@docerlab:~#
# systemctl mask关闭swap
root@docerlab:~# systemctl mask swap.img.swap
Created symlink /etc/systemd/system/swap.img.swap → /dev/null.
root@docerlab:~#
# 查看mask后的变化信息
root@docerlab:~# systemctl list-unit-files | grep swap
swap.img.swap masked enabled
swap.target static -
root@docerlab:~#
重启验证swap已经关闭
root@docerlab:~# reboot
# 重启后确认swap已经关闭
root@docerlab:~# free -m
total used free shared buff/cache available
Mem: 1963 207 1480 1 275 1603
Swap: 0 0 0
root@docerlab:~#
标签:docerlab,systemctl,22.04,swap,关闭,ubuntu,root,unit,SWAP
From: https://www.cnblogs.com/amsilence/p/18503050