How to add more swap space by adding new swap partition in RHEL or CentOS 7 ?
How to add more swap space by adding new swap partition in RHEL or CentOS 7
What is swap?
Swap space on a disk is used when the amount of physical RAM is full in the Linux system. When the system runs out of RAM, inactive pages are moved from the RAM to the swap space. Swap space can be either a dedicated swap partition or a swap file. So here we will see how you can add more swap space as a swap file.
In this article we will see how we can add more swap space using a new swap partition.
Steps :
Let's check how much swap is available on the system currently:
[root@localhost ~]# swapon --show
[root@localhost ~]# free -h
I have a new 10GB disk named "/dev/sdb" and i want to use it as a swap space.
[root@localhost ~]# fdisk -l
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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
Step 1 : Create a disk partition on /dev/sdb and set partition type as swap:
[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 0xceaf232e.
Command (m for help): n ==> CREATE NEW PARTITION
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p ==> PRIMARY PARTITION
Partition number (1-4, default 1): ==> PRESS ENTER
First sector (2048-20971519, default 2048): ==> PRESS ENTER
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): ==> PRESS ENTER
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): p ==> PRINT PARTITION TABLE
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xceaf232e
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 83 Linux
Command (m for help): l ==> LIST TYPE OF SUPPORTED FILESYSTEM
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
Command (m for help): t ==> CHANGE PARTITION TYPE
Selected partition 1
Hex code (type L to list all codes): 82 ==> ENTER "82" FOR SWAP
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): p ==> PRINT PARTITION TABLE
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xceaf232e
Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 82 Linux swap / Solaris
Command (m for help): w ==> WRITE PARTITION TABLE CHANGES
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Step 2 : Run "partprobe" command to re-read the partition table after changes:
[root@localhost ~]# partprobe /dev/sdb
Step 3 : Format the new /dev/sdb1 swap disk:
[root@localhost ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 10484732 KiB
no label, UUID=8b375896-99fe-4b54-8c78-9ef41accef9b
Step 4 : Activate swap space on "/dev/sdb1" partition:
[root@localhost ~]# swapon /dev/sdb1
Step 5 : To make these new changes persistent across reboot add an fstab entry:
[root@localhost ~]# vi /etc/fstab
/dev/sdb1 swap swap defaults 0 0
save and exit.
Step 6 : Verify if new disk is added as a swap space:
[root@localhost ~]# swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.9G 0B -2
/dev/sdb1 partition 10G 0B -3
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 421M 3.0G 14M 281M 3.0G
Swap: 13G 0B 13G
Removing swap partition gracefully:
Step 1 : Deactivate swap on /swapfile:
[root@localhost ~]# swapoff -v /dev/sdb1
swapoff /dev/sdb1
Step 2 : Remove swap entry from /etc/fstab file:
Step 3 : Delete "/dev/sdb1" partition or remove disk [OPTIONAL] :
Verify if swap space from "/dev/sdb1" partition is deactivated and removed:
[root@localhost ~]# swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.9G 0B -2
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 413M 3.0G 14M 281M 3.0G
Swap: 3.9G 0B 3.9G
Comments
Post a Comment