How to add swap to ZFS disk?
Solution 1
If your swap device is in use, then you might not be able to delete it. Check to see if the swap area is in use. For example:
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 4194296 4194296
In the above output, blocks == free, so the swap device is not actually being used.
If the swap area is not is use, remove the swap area. For example:
$ swap -d /dev/zvol/dsk/rpool/swap
Confirm that the swap area is removed.
$ swap -l
No swap devices configured
Resize the swap volume. For example:
$ zfs set volsize=1G rpool/swap
One also has to ensure that the referenced swap is reserved from the pool, otherwise when it comes time to swap there might not be enough memory:
$ zfs set refreservation=1G rpool/swap
Activate the swap area.
$ swap -a /dev/zvol/dsk/rpool/swap
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 2097144 2097144
More info at: ZFS Troubleshooting Guide
Solution 2
If your swap is active, you can add an additional swap volume.
zfs create -V 10G rpool/swap2
swap -a /dev/zvol/dsk/rpool/swap2
Related videos on Youtube
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Admin
Updated on September 17, 2022Comments
-
Admin almost 2 years
I installed Solaris 10 05/09 on a machine and I used whatever the default swap space setting when I built the box. Now I need to increase the swap space and I can't add a swap file, like was possible under UFS. How can I increase the amount of swap on my ZFS drive?
-
CMCDragonkai almost 10 yearsSo refreservation makes sure the normal files doesn't take up the SWAP?
-
easyE over 9 years@CMCDragonkai: yes, refreservation ensures that rpool/swap will be allocated space from the pool even if it is unused.