swapctl(8) -- System swap management tool
swapctl(8) helps manage system swap.
To list swap devices and files:
$ swapctl -l Device 512-blocks Used Avail Capacity Priority /dev/sd0b 2109020 0 2109020 0% 0
Here we see partition /dev/sd0b
, the swap partition, with 2109020 blocks (or 1GB of swap). 0% capacity is used, meaning all 1GB of swap is available.
On a system with heavy memory usage, all swap space may be used. In the following example, we will switch to a busier system:
$ swapctl -l Device 512-blocks Used Avail Capacity Priority /dev/sd1b 2109020 2106160 2860 100% 0
Adding Swap Partition
To add a new swap partition, you need some free space to create a new disklabel partition.
In this example, we've just prepared a new disk sd1
with
fdisk and have 20G of free space:
# disklabel -E sd1 Label editor (enter '?' for help at any prompt) sd1> p g OpenBSD area: 64-41943040; size: 20.0G; free: 20.0G # size offset fstype [fsize bsize cpg] c: 20.0G 0 unused
We add a new swap partition sd1b
since by convention, swap
partitions use the letter b
:
sd1> a b offset: [64] size: [41942976] 1G FS type: [swap] sd1*> p g OpenBSD area: 64-41943040; size: 20.0G; free: 19.0G # size offset fstype [fsize bsize cpg] b: 1.0G 64 swap c: 20.0G 0 unused sd1*> w sd1> q No label changes.
NOTE: You can add a swap partition even if another swap partition
already exists, so long as you have the free space and you specify the
FS type is swap
. It is not necessary to have a new disk with only a
single swap partition.
Next, we find the DUID on the disklabel:
# disklabel sd1 | grep duid duid: 23e250c235b4218f
Then we add this line at the bottom of /etc/fstab:
23e250c235b4218f.b none swap sw
This says that partition b
of the device with duid 23e250c235b4218f
has a mount point of none
, and is of type swap
.
Finally we call swapctl to add this new swap device:
# swapctl -A swapctl: adding 23e250c235b4218f.b as swap device at priority 0
We can confirm its presence:
# swapctl -l Device 512-blocks Used Avail Capacity Priority /dev/sd0b 2109020 0 2109020 0% 0 /dev/sd1b 2104451 0 2104451 0% 0 Total 4213471 0 4213471 0%
Using Swap Files
If you lack free space on disk to create a swap partition, you can also use a swap file.
NOTE: A dedicated swap partition is preferred where possible.
First, we create the swap file in an existing partition with plenty of
free space. We will use dd?. Replace count=1024
with
the size of the swapfile you need in megabytes:
# dd if=/dev/zero of=/home/user/swapfile bs=1m count=1024 1024+0 records in 1024+0 records out 1073741824 bytes transferred in 14.092 secs (76192760 bytes/sec)
Then provide the path to swapctl:
# swapctl -a /home/user/swapfile
You can verify the swap file is now being used:
# swapctl -l Device 512-blocks Used Avail Capacity Priority /dev/sd0b 2109020 0 2109020 0% 0 /home/user/swapfile 2097152 0 2097152 0% 0 Total 6310623 0 6310623 0%