linux(centos8): 临时关闭/永久关闭交换分区swap?

一,为什么要关闭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

说明:刘宏缔的架构森林是一个专注架构的博客,

网站:https://blog.imgtouch.com本文: https://blog.imgtouch.com/index.php/2023/05/22/centos8linux-lin-shi-guan-bi-yong-jiu-guan-bi-jiao-huan-fen-qu-swap/

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,查看swapon/swapoff所属的rpm包

[root@centos8 ~]# whereis swapoff

swapoff: /usr/sbin/swapoff /usr/share/man/man8/swapoff.8.gz /usr/share/man/man2/swapoff.2.gz

[root@centos8 ~]# whereis swapon

swapon: /usr/sbin/swapon /usr/share/man/man8/swapon.8.gz /usr/share/man/man2/swapon.2.gz

[root@centos8 ~]# rpm -qf /usr/sbin/swapon

util-linux-2.32.1-17.el8.x86_64

[root@centos8 ~]# rpm -qf /usr/sbin/swapoff

util-linux-2.32.1-17.el8.x86_64

如果误删除了命令可以用dnf安装

[root@centos8 ~]# dnf install util-linux

三,查看swap当前的状态:

查看swap的空间,共4G

[root@centos8 ~]# free -m

total used free shared buff/cache available

Mem: 3757 1224 1080 20 1452 2270

Swap: 4047 0 4047

用swapon查看所属设备和大小:

#-v: --verbose 详尽模式

[root@centos8 ~]# swapon -v

NAME TYPE SIZE USED PRIO

/dev/dm-1 partition 4G 0B -2

四,临时关闭swap

1,查看swapoff的版本

[root@centos8 ~]# swapoff --version

swapoff,来自 util-linux 2.32.1

2,关闭swap

#-a:all,禁用 /proc/swaps 中的所有交换区

[root@centos8 ~]# swapoff -a

3,检查效果 :

[root@centos8 ~]# free -m

total used free shared buff/cache available

Mem: 3757 1221 1083 20 1451 2273

Swap: 0 0 0

swap的大小为0,已关闭

4,用swapon检查:

[root@centos8 ~]# swapon -v

输出为空,表示swap已关闭

五,临时关闭swap后启用swap

1,查看swapon的版本

[root@centos8 ~]# swapon --version

swapon,来自 util-linux 2.32.1

2,启用 swap

#-a:--all 启用 /etc/fstab 中的所有交换区

[root@centos8 ~]# swapon -a

查看效果:

[root@centos8 ~]# free -m

total used free shared buff/cache available

Mem: 3757 1225 1079 20 1452 2269

Swap: 4047 0 4047

可以看到swap的空间显示为4G

用swapon -v查看

[root@centos8 ~]# swapon -v

NAME TYPE SIZE USED PRIO

/dev/dm-1 partition 4G 0B -2

六,永久关闭swap

查看/etc/fstab

[root@centos8 ~]# more /etc/fstab

找到swap分区的记录:

...

/dev/mapper/cl-root / xfs defaults 0 0

UUID=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

重启机器

[root@centos8 ~]# systemctl reboot

再用free -m检查一下

[liuhongdi@centos8 ~]$ free -m

total used free shared buff/cache available

Mem: 3757 1127 1906 17 722 2370

Swap: 0 0 0

七,查看linux的版本:

[liuhongdi@centos8 ~]$ cat /etc/redhat-release

CentOS Linux release 8.1.1911 (Core)


loowo牌子的衣服怎么样
RS电阻简介和应用领域