ubuntu 22.04及以上版本永久关闭SWAP方法

背景:同事说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:~#

posted @ 2024-10-25 18:04  二乘八是十六  阅读(200)  评论(0编辑  收藏  举报