如何扩容缩减swap分区

  • 一.swap简单介绍
  • 二.通过swap分区文件增加减少swap空间
    • 1.扩展
    • 2.缩减(删除)
  • 三.通过LVM扩容缩减swap空间
    • 1.扩容
    • 2.缩减

一.swap简单介绍

​ swap交换内存主要是指当物理内存不够用时,系统会启用硬盘的一部分空间来充当服务器内存,而默认情况下swap内存会有一些设置标准,它与物理内存的大小也是有关系的:

Ram大小    Swap大小  激活Swap后合计大小
256MB   256MB   512MB
512MB   512MB   1GB
1GB     1GB     2GB
3GB     2GB     5GB
4GB     2GB     6GB
6GB     2GB     8GB
8GB     3GB     11GB
12GB    3GB     15GB
16GB    4GB     20GB
32GB    6GB     38GB
64GB    8GB     72GB
128GB   11GB    139GB

官方官方建议在RAM是2到4.5G时,swap是RAM的2倍;如果RAM大于等于4G则swap等于RAM即可

当预先设置的Swap分区空间不足,这个时候需要增加其大小,今天总结两种增减swap大小的方法。

  1. 通过swap分区文件增加swap空间
  2. 通过LVM扩容缩减swap空间

话不多说,直接开始。实验用centos7机器。

目标增减swap2G。

二.通过swap分区文件增加减少swap空间

1.扩展

  1. 先查看一下当前swap大小
[root@fei-7 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.9G        164M        1.3G        7.6M        491M        1.7G
Swap:          2.0G          0B        2.0G
#当前swap2G
  1. 创建一个2G的文件
[root@fei-7 mnt]# dd if=/dev/zero of=/mnt/swap bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 19.3321 s, 111 MB/s[root@fei-7 mnt]# du -h /mnt/swap                #查看一下创建的文件
2.0G    /mnt/swap
  1. 将文件格式化为swap
[root@fei-7 mt]# mkswap /mnt/swap
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=c44df16e-2eb3-4132-9363-b0d32324c6a8
  1. 挂载并查看swap分区
[root@fei-7 mnt]# swapon /mnt/swap         #将swap分区文件
swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.[root@fei-7 mnt]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.9G        163M         17M        7.5M        1.8G        1.7G
Swap:          4.0G          0B        4.0G
#此时swap增加为2G
  1. 将分区信息写入/etc/fstab,如果不写入文件,则在下次启动后恢复原样。
[root@fei-7 mnt]# vim /etc/fstab [root@fei-7 mnt]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Sat Feb 15 17:41:54 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=0362beab-af6c-4573-8907-b3eb62e36a81 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sr0                /media                  iso9660 defaults        0 0
/mnt/swap               swap                    swap    defaults        0 0 #写在了最后一行
  • 完成之后重新启动检查,看是否依然是4G
  1. 重启后检查一下swap组成
[root@fei-7 ~]# swapon -s
Filename                Type        Size    Used    Priority
/mnt/swap                               file    2097148 0   -2
/dev/dm-1                               partition   2097148 0   -3
#现在看来很成功

所以以上是通过swap分区文件增加swap空间的具体操作步骤。

2.缩减(删除)

  1. 卸载刚才挂载的swap文件。
[root@fei-7 ~]# swapoff /mnt/swap
[root@fei-7 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        128M        1.5G        9.4M        203M        1.5G
Swap:          2.0G          0B        2.0G#卸载后swap分区恢复2G
  1. 删除/etc/fstab下添加的挂载信息
[root@fei-7 ~]# vim /etc/fstab [root@fei-7 ~]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Sat Feb 15 17:41:54 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=0362beab-af6c-4573-8907-b3eb62e36a81 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sr0                /media                  iso9660 defaults        0 0
  1. 最后将swap文件删除
[root@fei-7 ~# rm -rf /mnt/swap

通过swap分区文件增加或者缩减swap空间这种方法较为简单,建议使用这种方法。

三.通过LVM扩容缩减swap空间

查看一下当前系统swap分区情况

[root@fei-7 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        138M        1.4G        9.4M        229M        1.4G
Swap:          2.0G          0B        2.0G
#确认是2G大。

1.扩容

如果对LVM还不熟悉,可以在此先了解一下:linux LVM逻辑卷相关命令及创建,修改过程

  1. 先查看一下逻辑卷(lvm)和逻辑卷(vg)组详细情况
[root@fei-7 ~]# lvdisplay /dev/centos/swap        #swap文件可以在/etc/fstab或lsblk命令看到--- Logical volume ---LV Path                /dev/centos/swapLV Name                swap                     #当前逻辑卷名称VG Name                centos                   #找到所属卷组名:centosLV UUID                m4d0ur-Iz58-UAfd-tIPd-N5gM-Eqf8-NQvbvvLV Write Access        read/writeLV Creation host, time xiaoagiao, 2020-02-15 17:41:53 +0800LV Status              available# open                 2LV Size                2.00 GiB                 #大小Current LE             512Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:1
[root@fei-7 ~]# vgdisplay centos--- Volume group ---VG Name               centosSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  5VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                2Act PV                2VG Size               108.99 GiBPE Size               4.00 MiBTotal PE              27902Alloc PE / Size       27902 / 108.99 GiBFree  PE / Size       0 / 0                        #可以看到centos这个逻辑卷组并没有剩余空间了,如果有剩余空间可以直接添加到lv中。此时没有剩余则采取添加硬盘方式扩容。VG UUID               VWTn40-zXfH-77PH-riAc-HC1U-5lqQ-1juay8
  1. 此时添加一块硬盘,并查看。

[root@fei-7 ~]# fdisk -l |grep sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
/dev/sdb1            2048   188745727    94371840   83  Linux
Disk /dev/sdc: 5368 MB, 5368709120 bytes, 10485760 sectors          #新添加的磁盘/dev/sdc
  1. 将这个硬盘空间创建为物理卷
[root@fei-7 ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.[root@fei-7 ~]# pvs                      #查看一下当前物理卷PV         VG     Fmt  Attr PSize   PFree/dev/sda2  centos lvm2 a--  <19.00g    0 /dev/sdb1  centos lvm2 a--  <90.00g    0 /dev/sdc          lvm2 ---    5.00g 5.00g     #这就是新建的
  1. 接下来扩展centos这个卷组
[root@fei-7 ~]# vgextend centos /dev/sdc    Volume group "centos" successfully extended[root@fei-7 ~]# vgdisplay centos--- Volume group ---VG Name               centosSystem ID             Format                lvm2Metadata Areas        3Metadata Sequence No  6VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                3Act PV                3VG Size               <113.99 GiBPE Size               4.00 MiBTotal PE              29181Alloc PE / Size       27902 / 108.99 GiBFree  PE / Size       1279 / <5.00 GiB                   #刚才剩余0.现在剩余5GVG UUID               VWTn40-zXfH-77PH-riAc-HC1U-5lqQ-1juay8

到这一步之前分为两种情况:

  • 如果在第一步查看centos这个卷组时,发现有剩余空间,则直接进行横线下操作。
  • 若没有剩余,和演示的一样,则按照步骤依次进行。

接下来真正进行扩容,分为四步(卸载,扩展,格式化,挂载)

  1. 卸载swap分区
[root@fei-7 ~]# swapoff /dev/mapper/centos-swap
  1. 扩展swap逻辑卷
[root@fei-7 ~]# vgs                                          #先看一下centos这个卷组为5GVG     #PV #LV #SN Attr   VSize    VFree centos   3   2   0 wz--n- <113.99g <5.00g[root@fei-7 ~]#  lvextend -L +2G /dev/mapper/centos-swap         #给swap这个逻辑卷添加2GSize of logical volume centos/swap changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).Logical volume centos/swap successfully resized.[root@fei-7 ~]# vgs                                                #现在剩余3GVG     #PV #LV #SN Attr   VSize    VFree centos   3   2   0 wz--n- <113.99g <3.00g[root@fei-7 ~]# lvs LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- 106.99g                                                    swap centos -wi-a-----   4.00g             #此时逻辑卷swap共4G
  1. 格式化新swap分区
[root@fei-7 ~]# mkswap /dev/mapper/centos-swap
mkswap: /dev/mapper/centos-swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=4be30881-944a-42c2-8d3e-d8fbd183b698
  1. 重新挂在swap分区
[root@fei-7 ~]# swapon /dev/mapper/centos-swap           #挂载
[root@fei-7 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        130M        1.5G        9.4M        168M        1.5G
Swap:          4.0G          0B        4.0G

到此处,LVM扩容swap完成

2.缩减

其实就是缩减这个名为swap的逻辑卷

  1. 卸载swap分区
  2. 缩减逻辑卷
[root@fei-7 ~]# lvreduce -L 2G /dev/mapper/centos-swap WARNING: Reducing active logical volume to 2.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/swap? [y/n]: ySize of logical volume centos/swap changed from 4.00 GiB (1024 extents) to 2.00 GiB (512 extents).Logical volume centos/swap successfully resized.[root@fei-7 ~]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- 106.99g                                                    swap centos -wi-a-----   2.00g  #此时已经变回2G[root@fei-7 ~]# pvsPV         VG     Fmt  Attr PSize   PFree /dev/sda2  centos lvm2 a--  <19.00g     0 /dev/sdb1  centos lvm2 a--  <90.00g     0 /dev/sdc   centos lvm2 a--   <5.00g <5.00g   #centos卷组变回5G
  1. 格式化swap分区
[root@fei-7 ~]# mkswap /dev/mapper/centos-swap
mkswap: /dev/mapper/centos-swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=e6c3f988-8125-4574-8242-e7f3efcff1f5
  1. 重新挂载
[root@fei-7 ~]# swapon /dev/mapper/centos-swap
[root@fei-7 ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        128M        1.5G        9.4M        169M        1.5G
Swap:          2.0G          0B        2.0G    #重新变回2G

以上是通过LVM扩容缩减swap空间全过程

手把手教学linux上扩容和缩减swap分区。相关推荐

  1. 【Linux入门到精通系列讲解】Linux如何创建和删除swap分区

    Linux中的swap分区类似Windows的虚拟内存,在硬盘空间不足的情况下,可通过创建swap分区来解决,下面小编就给大家介绍下Linux如何创建和删除swap分区. 文章目录 1 swap概述 ...

  2. linux重新分区丢失数据恢复,用于Linux上数据及被删除分区恢复的5个最佳数据恢复工具...

    ------ 什么是数据恢复(Data Recovery)? 数据恢复是当数据不能正常访问时,从损坏/报错/讹误或不可访问的磁盘介质上进行数据拯救的一个过程. 被拯救的数据通常存放在存储介质如内部或外 ...

  3. linux u盘 慢_SUSE 10.0 U盘写入速度慢的最终解决方案--及两个Linux系统能否共享同一个swap分区...

    SUSE10安装了有半个月, 虽然说SUSE是针对Linux初学者, 但是即使象我这样用了Linux5年以上的老手而言, 正如我原先预料的, 要使它达到一种完全舒适的使用状态并不容易. SUSE U盘 ...

  4. 【linux】血泪经验,在安装Linux上一定要创建/data 分区,将数据盘和系统盘分开,方便重新安装系统,随时恢复Linux系统,其实特别简单,还有7个常用技巧

    目录 前言 1,关于Linux 系统盘 2,技巧1,安装linux,拆分/和 /data 分区,在安装配置好也会自动挂载 3,技巧2,使用英文系统,然后切换中文语言,让下载文件夹变英文 4,技巧3,切 ...

  5. linux 手动添加 swap 分区

    为什么需要swap 根据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺利执行Oracle数据库软件,sw ...

  6. linux下增加swap分区,LINUX新建和增加SWAP分区

    我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢? 在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swa ...

  7. linux系统修复home文件夹,在Linux操作系统上修复损坏的主分区/主目录

    本文介绍在Linux操作系统上修复损坏的主分区的方法,适合Ubuntu等版本.主目录是每个Linux用户操作系统设置的生命线,因为它几乎处理每个配置文件,个人数据文件.终端配置,甚至是命令行历史和配置 ...

  8. linux 中swap分区的中庸是什么

    一.什么叫swap分区 swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一 ...

  9. 简述Linux中Swap分区的作用,linux下的swap分区

    一.什么叫swap分区 swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一 ...

  10. linux创建swap分区

    在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swap分区 2.用文件作为swap分区 (操作更简单,我更常用) 下面介绍这两种方法:(都必须用root权限,操作过程应该 ...

最新文章

  1. 【 MATLAB 】 WLLS algorithm Simulation of TOA - Based Positioning
  2. GVRP的应用—华为拓扑
  3. cat6 万兆_cat6 万兆
  4. Field+offset(len)
  5. Bailian3179 最长单词【字符串】
  6. js 连mysql 延后_javascript – 异步并等待节点js中的MySQL调用
  7. java发微信字体颜色_java微信公众号发送消息模板
  8. Docker技术之容器与外部相连
  9. Java Emitter Template
  10. windows远程桌面登录不允许空密码
  11. CUDA出现:无法找到兼容的图形硬件
  12. asmr刷新失败无法连接上服务器_月圆之夜连接服务器失败 连接不上网络怎么办...
  13. 中国证券金融股份有限公司的成立加速融资融券的发展
  14. 解决“事件ID(487)的描述(在资源(Zend Optimizer)中)无法找到”问题
  15. 核酸检测软件开发方案(软件工程作业)
  16. iphone 分享到twitter
  17. Linux下VCS/IRUN的操作命令
  18. java springboot分销商城小程序源码
  19. 落实“两高”联合发布《关于办理商业贿赂刑事案件适用法律若干问题的意见》的措施
  20. 亚马逊云科技和安恒信息,发布云原生SaaS主机安全和云原生堡垒机

热门文章

  1. python上机考试题库_易考吧-2021年无纸化考试专用全国计算机等级考试上机考试题库:二级Python(含二级公共基础知识)...
  2. 基于Web2.0的异构数字资源检索系统研究与开发
  3. FFT 采样频率和采样点数的选取
  4. 计算机程序框图符号,数据流程图符号详解
  5. 数学原理-高等数学复习笔记 ——1.2 泰勒公式 罗尔中值定理与拉格朗日中值定理(附加多个实战题目)
  6. phpcms图库_love.php
  7. 【NISP一级】考前必刷九套卷(九)
  8. Mel中级教程精华篇预告
  9. Windows任务计划定时运行程序的配置方法
  10. Usability Testing Demystified