How to add swap to ZFS disk?

24,564

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

Share:
24,564

Related videos on Youtube

Admin
Author by

Admin

Updated on September 17, 2022

Comments

  • Admin
    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
    CMCDragonkai almost 10 years
    So refreservation makes sure the normal files doesn't take up the SWAP?
  • easyE
    easyE over 9 years
    @CMCDragonkai: yes, refreservation ensures that rpool/swap will be allocated space from the pool even if it is unused.