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://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?的更多相关文章
- Linux 交换分区swap
Linux 交换分区swap 一.创建和启用swap交换区 如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存 ...
- Linux_交换分区SWAP
一.交换分区SWAP 1️⃣:交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 2️⃣:交换分区一般指定虚拟内存的大小 ...
- linux(centos8):禁用selinux(临时关闭/永久关闭)
一,selinux的用途 1,什么是selinux SELinux:即安全增强型 Linux(Security-Enhanced Linux) 它是一个 Linux 内核模块,也是 Linux 的一个 ...
- Linux 临时和永久关闭 Selinux
查看当前 Selinux 状态:getenforce 临时关闭 Selinux:setenforce 0 永久关闭 Selinux: vim /etc/sysconfig/selinux 将 SELI ...
- 临时和永久关闭Selinux
临时关闭: [root@localhost ~]# getenforceEnforcing [root@localhost ~]# setenforce 0[root@localhost ~]# ge ...
- Linux交换分区swap
一.SWAP 说明 1.1 SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被 ...
- linux 交换分区 swap
linux swap分区用来保证内存过载时也可以使用,是在磁盘级别对内存的一次扩展,swap分区必须是一个单独的分区 创建过程: 1.用fdisk 命令新建分区,在创建过程中通过L命令和t命令来调整分 ...
- Linux设置交换分区swap
参考: http://www.vpser.net/opt/vps-add-swap.html https://www.zntec.cn/archives/vps-swap.html http://yz ...
- Linux - 创建交换分区 swap
购买的 1GB 内存的 Linux 小机器,在编译安装 PHP 的时候内存捉急,只好开启 swap 交换分区来增大内存. [root@VM_139_38_centos php-7.2.12]# cat ...
随机推荐
- smbms系统中引用的js文件出现乱码
问题如下显示: 时间显示出现了乱码,找到显示该时间的js文件,定位问题出现的地方. 解决方案: 改变该文件的编码方式,这里的使用了vscode进行改变js文件的编码方式 步骤如下: 使用vscode打 ...
- oracle之二检查点
检查点(checkpoint) 8.1 什么是checkpointcheckpoint是数据库的一个内部事件,检查点激活时会触发数据库写进程(DBWR),将数据缓冲区里的脏数据块写到数据文件中. 8. ...
- 纯java代码在控制台运算电话本(不使用数据库)
分享学习 Task_08 package cn.rzpt; import java.util.List; import java.util.Scanner; public class Task_08 ...
- Docker端口映射及创建镜像演示(二)
Docker暴露容器方法 第一种:将容器中的一个端口映射成宿主机中的一个随机端口 第二种:将容器中的一个端口映射成宿主机中的一个端口 第三种:将容器中的一个端口映射成宿主机中的一个特定网卡上的随机端口 ...
- IHttpClientFactory组件使用
起因 :由于需要前段时间写了一个http请求的公共方法 使用的 HttpClient,但是在jmeter测试下 爆发了这个问题:“Cannot assign requested address Ca ...
- Java并发包之Executors
概述 Executor.ExecutorService.ScheduledExecutorService.ThreadFactory.Callable的工厂和工具类. 方法 构造一个固定线程数目的线程 ...
- Thread、ThreadLocal源码解析
今天来看一下Thread和ThreadLocal类的源码. 一.Thread (1)首先看一下线程的构造方法,之后会说每种参数的用法,而所有的构造函数都会指向init方法 //空构造创建一个线程 Th ...
- 【答疑解惑】为什么你的 Charles 会抓包失败?
作为一名 Web 开发工程师,天天都会和网络打交道.Charles 作为一款网络抓包工具,几乎成了 Web 开发的标配. 本文是我深度使用 Charles 后总结而成,不同于其它介绍 Charles ...
- Docker镜像发布到阿里云
登录阿里云Docker Registry $ sudo docker login --username=xxx@xxx.com registry.cn-hangzhou.aliyuncs.com 从R ...
- 笨办法学Python3习题19
学习笔记记录一下 def cheese_and_crackers(cheese_count, boxes_of_crackers): print (f"You have {cheese_co ...