一,为什么要关闭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://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: 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)

linux(centos8): 临时关闭/永久关闭交换分区swap?的更多相关文章

  1. Linux 交换分区swap

    Linux 交换分区swap 一.创建和启用swap交换区 如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存 ...

  2. Linux_交换分区SWAP

    一.交换分区SWAP 1️⃣:交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 2️⃣:交换分区一般指定虚拟内存的大小 ...

  3. linux(centos8):禁用selinux(临时关闭/永久关闭)

    一,selinux的用途 1,什么是selinux SELinux:即安全增强型 Linux(Security-Enhanced Linux) 它是一个 Linux 内核模块,也是 Linux 的一个 ...

  4. Linux 临时和永久关闭 Selinux

    查看当前 Selinux 状态:getenforce 临时关闭 Selinux:setenforce 0 永久关闭 Selinux: vim /etc/sysconfig/selinux 将 SELI ...

  5. 临时和永久关闭Selinux

    临时关闭: [root@localhost ~]# getenforceEnforcing [root@localhost ~]# setenforce 0[root@localhost ~]# ge ...

  6. Linux交换分区swap

    一.SWAP 说明 1.1 SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被 ...

  7. linux 交换分区 swap

    linux swap分区用来保证内存过载时也可以使用,是在磁盘级别对内存的一次扩展,swap分区必须是一个单独的分区 创建过程: 1.用fdisk 命令新建分区,在创建过程中通过L命令和t命令来调整分 ...

  8. Linux设置交换分区swap

    参考: http://www.vpser.net/opt/vps-add-swap.html https://www.zntec.cn/archives/vps-swap.html http://yz ...

  9. Linux - 创建交换分区 swap

    购买的 1GB 内存的 Linux 小机器,在编译安装 PHP 的时候内存捉急,只好开启 swap 交换分区来增大内存. [root@VM_139_38_centos php-7.2.12]# cat ...

随机推荐

  1. @RequestBody使用说明

    @RequestBody 使用 @RequestBody这个对于一般刚接触来说,确实有点陌生,但是现在前端,后端技术分的太细,越来越多的技术层出不穷,前端就分化出POST ,GET,PUT,DELET ...

  2. Redis之命令

    Redis命令手册:http://doc.redisfans.com/

  3. tcp、http 学习小结

    tcp.http 学习小结 前言 最近因为cdn的一个问题,困扰了自己好久.因为需要统计网站访问的成功数,而且要求比较精确.目前的实现不能满足要求,因为没有区别访问成功与否,也没有对超时做处理.期间解 ...

  4. Mybatis和Mybatis-Plus时间范围查询,亲测有效

    一.mysql 1.传入时间范围参数类型是字符串 <if test="startTime!=null and startTime.trim() neq ''"> and ...

  5. 预科班D6

    2020.09.14星期一 预科班D6 学习内容: 自习 发布小游戏 1.配置网络 #查看当前ip ifconfig #关闭NetworkManager systemctl stop NetworkM ...

  6. 规则引擎在IoT的重要性?

    前言 物联网的强大功能主要来自于它使我们能够实时做出更准确的决策的能力,这些在通知.自动化和预测性维护上都有所体现.因此我们需要能对实时数据进行实时响应的工具,答案就是规则引擎.规则引擎可以通过摄取实 ...

  7. k8s集群监控(十一)

    Weave Scope   在我之前的docker监控中<Docker容器监控(十)–技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 Ku ...

  8. 从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta

    从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta 目录 从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Jav ...

  9. Autofac的使用

    Autofac的使用 「Autofac简介」 「基本的使用方式」 「如何实现webapi控制器自动注入接口」 一.Autofac简介 ❝ Autofac是实现依赖注入的类库之一,他可以帮助你实现程序的 ...

  10. Spark Job-Stage-Task实例理解

    Spark Job-Stage-Task实例理解 基于一个word count的简单例子理解Job.Stage.Task的关系,以及各自产生的方式和对并行.分区等的联系: 相关概念 Job:Job是由 ...