一,为什么要关闭swap?
1,swap的用途?
swap 分区就是交换分区,(windows平台叫虚拟内存)
在物理内存不够用时,
操作系统会从物理内存中把部分暂时不被使用的数据转移到交换分区,
从而为当前运行的程序留出足够的物理内存空间
2,为什么要关闭swap?
swap启用后,在使用磁盘空间和内存交换数据时,
性能表现会较差,会减慢程序执行的速度
有的软件的设计师不想使用交换,
例如:kubelet 在 1.8 版本以后强制要求 swap 必须关闭
否则会报错:
Running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false
或者kubeadm init时会报错:
[ERROR Swap]: running with swap on is not supported. Please disable swap
二,查看swapon/swapoff所属的rpm包
[[email protected] ~]# whereisswapoff
swapoff:/usr/sbin/swapoff /usr/share/man/man8/swapoff.8.gz /usr/share/man/man2/swapoff.2whereisswapon
swapon:/usr/sbin/swapon /usr/share/man/man8/swapon.8.gz /usr/share/man/man2/swapon.2swapon
util-linux-2.32.1-17swapoff
util-linux-2.32.1-17.el8.x86_64
如果误删除了命令可以用dnf安装
[[email protected] ~]# dnf install util-linux
三,查看swap当前的状态:
查看swap的空间,共4G
[[email protected] ~]# free -m
total usedfree shared buff/cache available
Mem:3757 1224 1080 20 1452 2270Swap:4047 0 4047
用swapon查看所属设备和大小:
#-v: --verbose 详尽模式
[[email protected] ~]# swapon -v
NAME TYPE SIZE USED PRIO/dev/dm-1 partition 4G 0B -2
四,临时关闭swap
1,查看swapoff的版本
[[email protected] ~]# swapoff --version
swapoff,来自 util-linux 2.32.1
2,关闭swap
#-a:all,禁用 /proc/swaps 中的所有交换区
3,检查效果 :
[[email protected] ~]# free -m
total usedfree shared buff/cache available
Mem:3757 1221 1083 20 1451 2273Swap:0 0 0
swap的大小为0,已关闭
4,用swapon检查:
输出为空,表示swap已关闭
五,临时关闭swap后启用swap
1,查看swapon的版本
[[email protected] ~]# swapon --version
swapon,来自 util-linux 2.32.1
2,启用 swap
#-a:--all 启用 /etc/fstab 中的所有交换区
查看效果:
[[email protected] ~]# free -m
total usedfree shared buff/cache available
Mem:3757 1225 1079 20 1452 2269Swap:4047 0 4047
可以看到swap的空间显示为4G
用swapon -v查看
[[email protected] ~]# swapon -v
NAME TYPE SIZE USED PRIO/dev/dm-1 partition 4G 0B -2
六,永久关闭swap
查看/etc/fstab
[[email protected] ~]# more /etc/fstab
找到swap分区的记录:
.../dev/mapper/cl-root / xfs defaults 0 0UUID=f384615e-7c71-43b0-876c-45e8f08cfa6e /boot ext4 defaults 1 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
把加载swap分区的那行记录注释掉即可
#/dev/mapper/cl-swap swap swap defaults 0 0
重启机器
[[email protected] ~]# systemctl reboot
再用free -m检查一下
[[email protected] ~]$ free -m
total usedfree shared buff/cache available
Mem:3757 1127 1906 17 722 2370Swap:0 0 0
七,查看linux的版本:
[[email protected] ~]$ cat /etc/redhat-release
CentOS Linux release8.1.1911 (Core)
原文:https://www.cnblogs.com/architectforest/p/12982886.html