一,为什么要关闭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. jmeter的用途

    1.可以测接口 2.测试连数据库 3.可以进行压测 4.可部署分布式

  2. list列表(也叫数组),以及常用的一些方法

    列表的表达: 元祖tuple,元祖是不可被修改的列表 1.列表的增,list.append(元素).或list.insert(index,元素) 2.列表的删,list.pop(可指定index也可不 ...

  3. [05] 通过P/Invoke加速C#程序

    通过P/Invoke加速C#程序 任何语言都会提供FFI机制(Foreign Function Interface, 叫法不太一样), 大多数的FFI机制是和C API. C#提供了P/Invoke来 ...

  4. H5C3综合案例

    案例:实现步骤 1. 搭建HTML结构 <section> <div></div> <div></div> <div></ ...

  5. vscode代码格式化

    第一种解决方案 ctrl + shift + X eslint 安装 ctrl + , 或者打开C:\Users\Administrator\AppData\Roaming\Code\User\set ...

  6. spring boot之支持http和https并行(http不跳转)

    首先需要去做个证书 yml配置文件中设置的是https监听端口 server: port: 10007 tomcat: basedir: /data/apps/temp #配置SSL ssl: key ...

  7. java Synchronized集合

    在Collections存在相关"Synchronized"支持同步的集合, 在java1.0 也存在"Vector"; 为什么会选择放弃"Vecto ...

  8. 容器云平台No.8~kubernetes负载均衡之ingress-nginx

    Ingress 是什么? Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由. 流量路由由 Ingress 资源上定义的规则控制. 可以将 Ingress 配置为服务提供外 ...

  9. stringstream使用

    stringstream的头文件是<sstream>,stringstream可以作为中间介质,实现字符串和数字之间的转换. 数字转string double a=213; string ...

  10. 有关java反射的几个小方法的作用和区别

    1.Class类中 getXXX()和getDeclaredXXX()的作用和区别: 前者获取某个类的所有公共(public)的字段(or方法or构造函数),包括父类.后者获取所有的字段(or方法or ...