当前位置:首页 > Linux > 正文内容

利用分区来扩展swap交换分区空间

canca5年前 (2021-01-05)Linux503

swap的作用

swap分区是必须有的,首先,它是日志文件系统得以发挥作用的依赖,在系统意外关闭的情况下,靠它来保存系统中的数据。其次,在运行一些比较耗内存的程序的时候,也要用到它。在这两种情况之外,swap分区处于一种闲置状态,

 

处理交换文件和分区

    交换分区是系统RAM的补充

    基本设置包括:

创建交换分区或者文件

使用mkswap写入特殊签名

/etc/fstab文件中添加适当的条目

使用swapon -a 激活交换空间

 

挂载交换分区

    启用: swapon

swapon [OPTION]... [DEVICE]

-a:激活/etc/fstab文件中所有的交换分区;

-p PRIORITY:指定优先级

/etc/fstab:pri=value

    禁用: swapoff [OPTION]... [DEVICE]

 

SWAP的优先级

    用户可以给某个swap指定一个032767的优先级

    如果用户没有指定,那么核心会自动给swap指定一个优先级,这个优先级从-1开始,每加入一个新的没有用户指定优先级的swap,会给这个优先级减一。

    先添加的swap的缺省优先级比较高,除非用户自己指定一个优先级,而用户指定的优先级(是正数)永远高于核心缺省指定的优先级(是负数)

    优化性能:分布存放,高性能磁盘存放

 

swap分区的创建



步骤

    1、分区

    2、格式化

    3、挂载

 

查看当前交换分区总空间

[root@localhost ~]# free
             total       used       free       shared     buff/cache   available
Mem:         1868660     172672     1376176     9176       319812      1517840
Swap:        3905532     0          3905532


 

[root@localhost ~]# free -h        #人性化显示swap容量
               total        used       free        shared      buff/cache   available
Mem:           1.8G        169M        1.3G        9.0M        308M         1.4G
Swap:          3.7G          0B        3.7G



添加硬盘,并对硬盘进行分区

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan        #扫描新添加的硬盘
 
[root@localhost ~]# fdisk -l /dev/sdb        #查看硬盘情况
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
[root@localhost ~]# fdisk /dev/sdb        #对硬盘进行分区
Welcome to fdisk (util-linux 2.23.2).
 
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xbdc9991b.
 
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-419430399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): +2G
Partition 1 of type Linux and of size 2 GiB is set
 
Command (m for help): p
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbdc9991b
 
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
 
Command (m for help): t        #修改文件系统类型
Selected partition 1
Hex code (type L to list all codes): L        #使用L可以查看系统所有的文件类型
 
 0  Empty        24  NEC DOS          81  Minix / old Lin   bf  Solaris        
 1  FAT12        27  Hidden NTFS Win  82  Linux swap / So   c1  DRDOS/sec (FAT-
 2  XENIX root   39  Plan 9           83  Linux             c4  DRDOS/sec (FAT-
 3  XENIX usr    3c  PartitionMagic   84  OS/2 hidden C:    c6  DRDOS/sec (FAT-
 4  FAT16 <32M   40  Venix 80286      85  Linux extended    c7  Syrinx         
 5  Extended     41  PPC PReP Boot    86  NTFS volume set   da  Non-FS data    
 6  FAT16        42  SFS              87  NTFS volume set   db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT   4d  QNX4.x           88  Linux plaintext  de  Dell Utility   
 8  AIX               4e  QNX4.x 2nd part  8e  Linux LVM        df  BootIt         
 9  AIX bootable      4f  QNX4.x 3rd part  93  Amoeba           e1  DOS access     
 a  OS/2 Boot Manag   50  OnTrack DM       94  Amoeba BBT       e3  DOS R/O        
 b  W95 FAT32         51  OnTrack DM6 Aux  9f  BSD/OS           e4  SpeedStor      
 c  W95 FAT32 (LBA)   52  CP/M             a0  IBM Thinkpad hi  eb  BeOS fs        
 e  W95 FAT16 (LBA)   53  OnTrack DM6 Aux  a5  FreeBSD          ee  GPT            
 f  W95 Ext'd (LBA)   54  OnTrackDM6       a6  OpenBSD          ef  EFI (FAT-12/16/
10  OPUS              55  EZ-Drive         a7  NeXTSTEP         f0  Linux/PA-RISC b
11  Hidden FAT12      56  Golden Bow       a8  Darwin UFS       f1  SpeedStor      
12  Compaq diagnost   5c  Priam Edisk      a9  NetBSD           f4  SpeedStor      
14  Hidden FAT16 <3   61  SpeedStor        ab  Darwin boot      f2  DOS secondary  
16  Hidden FAT16      63  GNU HURD or Sys  af  HFS / HFS+       fb  VMware VMFS    
17  Hidden HPFS/NTF   64  Novell Netware   b7  BSDI fs          fc  VMware VMKCORE
18  AST SmartSleep    65  Novell Netware   b8  BSDI swap        fd  Linux raid auto
1b  Hidden W95 FAT3   70  DiskSecure Mult  bb  Boot Wizard hid  fe  LANstep        
1c  Hidden W95 FAT3   75  PC/IX            be  Solaris boot     ff  BBT            
1e  Hidden W95 FAT1   80  Old Minix      
Hex code (type L to list all codes): 82        #指定修改的文件类型为82( Linux swap / So)
Changed type of partition 'Linux' to 'Linux swap / Solaris'
  
Command (m for help): p
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbdc9991b
 
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   82  Linux swap / Solaris
 
Command (m for help): w        #保存退出
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
 
[root@localhost ~]# fdisk -l /dev/sdb
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbdc9991b
 
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   82  Linux swap / Solaris


 

格式化新建swap分区

[root@localhost ~]# mkswap -L swap_sdb1 /dev/sdb1        #为新分区进行格式化,针对交换分区需要使用mkswap命令,与格式化ext系列等文件系统不同
Setting up swapspace version 1, size = 2097148 KiB
LABEL=swap_sdb1, UUID=ee3b8097-7c2e-47d0-8188-d6d69a341cb6


 

 

修改/etc/fstab配置文件,实现挂载

[root@localhost ~]# vi /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Thu Jul 21 11:23:38 2016
#
# 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
#
UUID=80371af2-ee0e-481c-b71a-c9d25b11800a    /          xfs     defaults      0  0
UUID=33974954-468b-490d-b84a-c955716d7146    /boot      xfs     defaults      0  0
UUID=346923cc-58f2-44b6-91d0-6ad8687ebd7b    /testdir   xfs     defaults      0  0
UUID=981b1be0-81ec-46aa-bb2c-6d7f0d79aa46    swap       swap    defaults      0  0
UUID="ee3b8097-7c2e-47d0-8188-d6d69a341cb6"  swap       swap    defaults      0  0


 

查看新分区挂载之前的情况

[root@localhost ~]# swapon -s
Filename               Type          Size       Used    Priority
/dev/sda2              partition     3905532     0       -1
 
[root@localhost ~]# free
         total        used        free         shared      buff/cache   available
Mem:     1868660      172672     1376176       9176        319812       1517840
Swap:    3905532      0          3905532


 

执行“swapon -a”激活交换分区后,再次重新查看交换分区情况

[root@localhost ~]# swapon -a
[root@localhost ~]# swapon  -s
Filename                 Type            Size    Used    Priority
/dev/sdb1                 partition       2097148 0       -2
/dev/sda2                 partition       3905532 0       -1


注意:虽然/dev/sdb1已经挂载成功了,当sdb1的优先级比sda2低,系统还是会优先使用sda2,这样并不能提高系统的性能,应该将sdb1的优先级调高,有利于提供系统的性能。

 

[root@localhost ~]# free
total        used         free      shared     buff/cache   available
Mem:        1868660    174028     1374788   9176      319844     1516436
Swap:       6002680      0     6002680


 

添加pri选项修改优先级

[root@localhost ~]# vi /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Thu Jul 21 11:23:38 2016
#
# 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
#
UUID=80371af2-ee0e-481c-b71a-c9d25b11800a    /         xfs     defaults       0  0
UUID=33974954-468b-490d-b84a-c955716d7146    /boot     xfs     defaults       0  0
UUID=346923cc-58f2-44b6-91d0-6ad8687ebd7b    /testdir  xfs     defaults       0  0
UUID=981b1be0-81ec-46aa-bb2c-6d7f0d79aa46    swap      swap    defaults       0  0
UUID="ee3b8097-7c2e-47d0-8188-d6d69a341cb6"  swap      swap     pri=100       0  0


 

要使优先级生效,需要把之前添加的交换分区卸载,然后再重新挂载

[root@localhost ~]# swapoff /dev/sdb1
[root@localhost ~]# swapon -a
[root@localhost ~]# swapon -s
Filename            Type            Size     Used    Priority
/dev/sdb1           partition       2097148  0       100
/dev/sda2           partition       3905532  0       -1


 

临时挂载

除了上面的方法,也可以使用下面的命令手动挂载,并且指定优先级,这种方法只适合临时挂载,重新启动就会失效。

[root@localhost ~]# swapon -s
Filename               Type            Size     Used    Priority
/dev/sda2              partition       3905532   0       -1
[root@localhost ~]# swapon /dev/sdb1 -p 100
[root@localhost ~]# swapon -s
Filename              Type            Size     Used    Priority
/dev/sdb1             partition       2097148  0       100
/dev/sda2             partition       3905532  0       -1



swap分区的删除



取消/dev/sdb1交换分区的挂载

[root@localhost ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       3905532 0       -1
/dev/sdb1                               partition       2097148 0       100
 
[root@localhost ~]# swapoff /dev/sdb1
 
[root@localhost ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       3905532 0       -1


 

删除/etc/fatab中的配置信息

[root@localhost ~]# vi /etc/fstab
 
#
# /etc/fstab
# Created by anaconda on Thu Jul 21 11:23:38 2016
#
# 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
#
UUID=80371af2-ee0e-481c-b71a-c9d25b11800a /                       xfs     defaults        0 0
UUID=33974954-468b-490d-b84a-c955716d7146 /boot                   xfs     defaults        0 0
UUID=346923cc-58f2-44b6-91d0-6ad8687ebd7b /testdir                xfs     defaults        0 0
UUID=981b1be0-81ec-46aa-bb2c-6d7f0d79aa46 swap                    swap    defaults        0 0
UUID="ee3b8097-7c2e-47d0-8188-d6d69a341cb6" swap    swap    pri=100     0   0    #删除改行


 

删除/dev/sdb1分区

[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
 
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
 
Command (m for help): d
Selected partition 1
Partition 1 is deleted
 
Command (m for help): p
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbdc9991b
 
   Device Boot      Start         End      Blocks   Id  System
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# fdisk -l /dev/sdb
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbdc9991b
 
   Device Boot      Start         End      Blocks   Id  System


转自:https://blog.51cto.com/dreamlinuxc/1844566

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/746.html

标签: Linuxswap
分享给朋友:

“利用分区来扩展swap交换分区空间” 的相关文章

在Linux下安装和使用MySQL

一、引言   想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,...

crontab命令

crontab命令

前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, ...

rar命令

在ubuntu下面首先需要安装: sudo apt-get install rar 下面是命令参数及详解(转来的)用法:  rar <命令>-<开关 1> -<开关 N> <压缩文件> <文件...> <@列表文件....

centos7 手动修改dns

方法一:vim /etc/resolv.conf# Generated by NetworkManager nameserver 114.114.114.114 nameserver 119.29.29.29重启网卡:systemctl ...

linux 系统tar文件压缩打包命令

打包成tar.gz格式压缩包# tar -zcvf renwolesshel.tar.gz /renwolesshel解压tar.gz格式压缩包# tar zxvf renwolesshel.tar.gz打包成tar.bz2格式压...

armbian修改为中文环境,解决中文乱码

step1:输入 dpkg-reconfigure locales选 zh_CN.UTF-8 ,空格打钩,tab 到确定按钮即可。第二个画面 选择默认语言,随便选,这一步主要是为了安装 zh_CN.UTF-8 语言包。step2:输入 vi /etc/default/locale按 i 键,进入in...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。