Swap disks are a special type of storage that are used to act like extra system ram. This is handy if your machine is running low on ram, although using swap can degrade performance. To see your ram info, you use the free command:
Announcement
You can find all my latest posts on medium.$ free -m total used free shared buff/cache available Mem: 993 517 306 13 169 314 Swap: 1023 217 806
Here you can see how much swap memory is currently active.
You can make a swap disk out of either a disk partition, or from an LV. The approach varies slight with each approach.
Create a Swap disk from a disk partition
First you need to create a partition, that is of the “Linux swap” partition type:
Command (m for help): 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
Next we need to install the "swap filesystem":
$ mkswap -L {swap-name} /dev/sdb1 mkswap: /dev/sdb1: warning: wiping old xfs signature. Setting up swapspace version 1, size = 102396 KiB no label, UUID=2e80abd8-ee86-4d06-b1b5-09ad66d17cc0 $
Note: assigning a name with "-L" is optional, but is definitely recommended. Next we can activate the swap using the swapon command:
$ swapon /dev/sdb1
You can then check this has worked using the free -m
command.
To list all your active swap disks, you can do:
$ swapon -s Filename Type Size Used Priority /dev/dm-1 partition 1048572 224464 -1 /dev/sdb1 partition 102396 0 -2
Note: this doesn't list inactive swaps. It only list active swaps only.
You can also deactivate the swap with the swapoff command:
$ swapoff /dev/sdb1
Another way to deactivate the swap space is by rebooting the machine. That's because activating a swap using "swapon" isn't persistant. To make it persistant, you have to add it to the /etc/fstab
file. More about this later.
Create a Swap disk from a Logical Volume
First you create an LV, unless you already have one available.
$ mkswap /dev/vg-name/lv-name
Then you can use enable/disable swaps as shown earlier.
Automouniting swap disks
If you want the new swap to become active at boot time, then you need add the new swap to the fstab file, here are the entries that you need to add:
col 1: “LABEL={swap’s nickname}” or "UUID=..."
col 2: swap # since mount-points are not applicable for swaps.
col 3: swap # Since filesystems like ext4 are not applicable.
col 4: defaults
col 5: 0 # since you don’t need to keep backups of temp data.
col 6: 0 # since you don’t need to do fsck because it will only contain temp data
You can test whether you have entered everything in fstab correctly by running the following command:
$ swapon -a
Here swapon will read the fstab file and start all swaps it can find.
You can then use free -m
and swapon -s
to check everything is as expected.
Likewise, to turn off all swaps listed in the fstab file, you do:
$ swapoff -a
Creating a swap partition is quite similar to how you create a filesystem partition, here's a side-by-side comparison of the 2 processes:
[post-content post_name=rhsca-quiz]
$ free -m
$ fdisk /dev/sdb # ensure you set the type to set the type as "Linux swap"
$ mkswap -L extramemory /dev/sdb3
$ swapon /dev/sdb3
$ free -m
$ swapon -s
$ swapoff /dev/sdb3
LABEL=extramemory swap swap defaults 0 0
$ swapon -a
$ swapoff -a