How to make use of swap?

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
My FreeBSD box is setup with raidz3 and has nine hard drives which gpart show will report identically aside from diskid, below:
Code:
=>       34  976773101  diskid/DISK-WD-WCC1S6162369  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)


These drives were configured many years ago. I am not sure whether the swap as shown above is setup to be used, but my /etc/fstab has the lines below:
Code:
# Device                Mountpoint              FStype          Options         Dump            Pass#
/dev/ada0p2             none                    swap            sw              0               0
/dev/ada1p2             none                    swap            sw              0               0
/dev/ada2p2             none                    swap            sw              0               0
/dev/ada3p2             none                    swap            sw              0               0
/dev/ada4p2             none                    swap            sw              0               0
/dev/ada5p2             none                    swap            sw              0               0
/dev/ada6p2             none                    swap            sw              0               0
/dev/ada7p2             none                    swap            sw              0               0
/dev/ada8p2             none                    swap            sw              0               0
linprocfs               /compat/linux/proc      linprocfs       rw              0               0
fdesc                   /dev/fd                 fdescfs         rw              0               0
proc                    /proc                   procfs          rw              0               0
#tmpfs                  /usr/obj                tmpfs           rw,mode=01777   0               0
/dev/cd0                /cdrom                  cd9660          ro,noauto       0               0
linproc                 /compat/linux/proc      linprocfs       rw              0               0
linsysfs                /compat/linux/sys       linsysfs        rw              0               0


Below is zpool list output:
Code:
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zroot  4.06T  1.94T  2.12T        -         -    30%    47%  1.00x  DEGRADED  -
root@ichigo:~ # zfs list
NAME                                    USED  AVAIL  REFER  MOUNTPOINT
zroot                                  1.20T  1.23T   236K  /zroot
zroot/ROOT                              183G  1.23T   236K  none
zroot/ROOT/default                      183G  1.23T   183G  /
zroot/bastille                         2.19G  1.23T   295K  /usr/local/bastille
zroot/bastille/backups                  236K  1.23T   236K  /usr/local/bastille/backups
zroot/bastille/cache                    281M  1.23T   236K  /usr/local/bastille/cache
zroot/bastille/cache/11.4-RELEASE       126M  1.23T   126M  /usr/local/bastille/cache/11.4-RELEASE
zroot/bastille/cache/12.1-RELEASE       154M  1.23T   154M  /usr/local/bastille/cache/12.1-RELEASE
zroot/bastille/jails                   1.00G  1.23T   236K  /usr/local/bastille/jails
zroot/bastille/jails/foxfire           1.00G  1.23T   285K  /usr/local/bastille/jails/foxfire
zroot/bastille/jails/foxfire/root      1.00G  1.23T  1.00G  /usr/local/bastille/jails/foxfire/root
zroot/bastille/logs                     285K  1.23T   285K  /usr/local/bastille/logs
zroot/bastille/releases                 931M  1.23T   236K  /usr/local/bastille/releases
zroot/bastille/releases/11.4-RELEASE    420M  1.23T   420M  /usr/local/bastille/releases/11.4-RELEASE
zroot/bastille/releases/12.1-RELEASE    510M  1.23T   510M  /usr/local/bastille/releases/12.1-RELEASE
zroot/bastille/templates                669K  1.23T   669K  /usr/local/bastille/templates
zroot/jails                            4.81G  1.23T  4.37G  /jails
zroot/jails/.warden-template-113amd64   447M  1.23T   447M  /jails/.warden-template-113amd64
zroot/poudriere                        5.98G  1.23T   256K  /zroot/poudriere
zroot/poudriere/jails                  3.95G  1.23T   236K  /zroot/poudriere/jails
zroot/poudriere/jails/12amd64          3.95G  1.23T  3.95G  /usr/local/poudriere/jails/12amd64
zroot/poudriere/ports                  2.03G  1.23T   236K  /zroot/poudriere/ports
zroot/poudriere/ports/default          2.03G  1.23T  2.03G  /usr/local/poudriere/ports/default
zroot/tmp                               588M  1.23T   588M  /tmp
zroot/usr                              1022G  1.23T   236K  /usr
zroot/usr/home                          983G  1.23T   284G  /usr/home
zroot/usr/home/music                   16.0G  1.23T  16.0G  /usr/home/music
zroot/usr/home/tigersharke              682G  1.23T   682G  /usr/home/tigersharke
zroot/usr/ports                        36.4G  1.23T  36.4G  /usr/ports
zroot/usr/src                          2.82G  1.23T  2.82G  /usr/src
zroot/var                              4.72G  1.23T   236K  /var
zroot/var/audit                         236K  1.23T   236K  /var/audit
zroot/var/crash                         236K  1.23T   236K  /var/crash
zroot/var/log                          4.65G  1.23T  4.65G  /var/log
zroot/var/mail                         69.6M  1.23T  69.6M  /var/mail
zroot/var/tmp                          3.78M  1.23T  3.78M  /var/tmp


I am very uncertain about the fstab, I suspect it may be incomplete. Is there a way to determine whether *any* of the swap space that gpart tells me is assigned is ever used?

How would I setup swap properly, what needs adjustment?
 
Joined
Jul 10, 2016
Messages
521
According to swapon(8), the swap entries from fstab will be added automatically at boot. That's all there's to it.

The swap available and used/free will show when you run swapinfo or even top. I only have a single disk on my FreeBSD laptop, but my config looks very similar and swap works fine.

Code:
➜  ~ gpart show   
=>       40  500118112  ada0  GPT  (238G)
         40     409600     1  efi  (200M)
     409640       1024     2  freebsd-boot  (512K)
     410664        984        - free -  (492K)
     411648   33554432     3  freebsd-swap  (16G)
   33966080  466151424     4  freebsd-zfs  (222G)
  500117504        648        - free -  (324K)

➜  ~ cat /etc/fstab
# Device           Mountpoint               FStype        Options        Dump     Pass#
/dev/ada0p3        none                     swap          sw             0        0
linprocfs          /compat/linux/proc       linprocfs     rw             0        0
tmpfs              /compat/linux/dev/shm    tmpfs         rw,mode=1777   0        0
fdescfs            /dev/fd                  fdescfs       rw             0        0
proc               /proc                    procfs        rw             0        0

➜  ~ swapinfo     
Device          512-blocks     Used    Avail Capacity
/dev/ada0p3       33554432        0 33554432     0%
 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
Thank you. top does not show any swap in use, and swapinfo does not list anything but the header of its list. Is there something I still need to do?
Code:
root@ichigo:~ # swapinfo
Device          1K-blocks     Used    Avail Capacity
root@ichigo:~ #
 
Joined
Jul 10, 2016
Messages
521
Does it make a difference when you run swapon -a? What version of FreeBSD are you running?
I have to try really, really hard to make it use swap
 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
I am using 12-STABLE and I have 32GB of RAM, but even if no amount of swap is ever used, it should show it available, right?
As for swapon
Code:
root@ichigo:~ # swapon -a
swapon: /dev/ada0p2: No such file or directory
swapon: /dev/ada1p2: No such file or directory
swapon: /dev/ada2p2: No such file or directory
swapon: /dev/ada3p2: No such file or directory
swapon: /dev/ada4p2: No such file or directory
swapon: /dev/ada5p2: No such file or directory
swapon: /dev/ada6p2: No such file or directory
swapon: /dev/ada7p2: No such file or directory
swapon: /dev/ada8p2: No such file or directory
root@ichigo:~ #
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,740
Your disks are probably not adaN devices but something different. The content of /var/run/dmesg.boot should give you some hints.
 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
I'll check and see but I cannot imagine what they might be if they're anything different, below what should be the appropriate lines of /var/run/dmesg.boot
Code:
ada0 at ahcich2 bus 0 scbus2 target 0 lun 0
ada0: <TS8GSSD500 130411> ATA8-ACS SATA 2.x device
ada0: Serial Number 20160525D00574375011
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 7641MB (15649200 512 byte sectors)
ada1 at ahcich3 bus 0 scbus3 target 0 lun 0
ada1: <KINGSTON SV300S37A60G 521ABBF0> ATA8-ACS SATA 3.x device
ada1: Serial Number 50026B7743022253
ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 57241MB (117231408 512 byte sectors)
ada2 at ahcich4 bus 0 scbus4 target 0 lun 0
ada2: <WDC WD5003AZEX-00K1GA0 80.00A80> ATA8-ACS SATA 3.x device
ada2: Serial Number WD-WCC1S6162369
ada2: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 476940MB (976773168 512 byte sectors)
ada2: quirks=0x1<4K>
ada3 at ahcich5 bus 0 scbus5 target 0 lun 0
ada3: <WDC WD5003AZEX-00K1GA0 80.00A80> ATA8-ACS SATA 3.x device
ada3: Serial Number WD-WCC1S7643973
ada3: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada3: Command Queueing enabled
ada3: 476940MB (976773168 512 byte sectors)
ada3: quirks=0x1<4K>
ada4 at ahcich6 bus 0 scbus6 target 0 lun 0
ada4: <WDC WD5003AZEX-00K1GA0 80.00A80> ATA8-ACS SATA 3.x device
ada4: Serial Number WD-WMC1S7028984
ada4: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada4: Command Queueing enabled
ada4: 476940MB (976773168 512 byte sectors)
ada4: quirks=0x1<4K>
ada5 at ahcich7 bus 0 scbus7 target 0 lun 0
ada5: <WDC WD5003AZEX-00MK2A0 01.01A01> ACS-2 ATA SATA 3.x device
ada5: Serial Number WD-WCC3FJNFYVKR
ada5: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada5: Command Queueing enabled
ada5: 476940MB (976773168 512 byte sectors)
ada5: quirks=0x1<4K>
ada6 at ahcich8 bus 0 scbus8 target 0 lun 0
ada6: <WDC WD5003AZEX-00MK2A0 01.01A01> ACS-2 ATA SATA 3.x device
ada6: Serial Number WD-WCC3F2752336
ada6: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada6: Command Queueing enabled
ada6: 476940MB (976773168 512 byte sectors)
ada6: quirks=0x1<4K>
ada7 at ahcich9 bus 0 scbus9 target 0 lun 0
ada7: <WDC WD5003AZEX-00MK2A0 01.01A01> ACS-2 ATA SATA 3.x device
ada7: Serial Number WD-WCC3F1951247
ada7: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada7: Command Queueing enabled
ada7: 476940MB (976773168 512 byte sectors)
ada7: quirks=0x1<4K>
ada8 at ahcich10 bus 0 scbus10 target 0 lun 0
ada8: <WDC WD5003AZEX-00MK2A0 01.01A01> ACS-2 ATA SATA 3.x device
ada8: Serial Number WD-WCC3FA91CAKL
ada8: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada8: Command Queueing enabled
ada8: 476940MB (976773168 512 byte sectors)
ada8: quirks=0x1<4K>
ada9 at ahcich11 bus 0 scbus11 target 0 lun 0
ada9: <WDC WD5003AZEX-00K1GA0 80.00A80> ATA8-ACS SATA 3.x device
ada9: Serial Number WD-WCC1S7224904
ada9: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada9: Command Queueing enabled
ada9: 476940MB (976773168 512 byte sectors)
ada9: quirks=0x1<4K>
ada10 at ahcich12 bus 0 scbus12 target 0 lun 0
ada10: <WDC WD5003AZEX-00K1GA0 80.00A80> ATA8-ACS SATA 3.x device
ada10: Serial Number WD-WMC1S5227326
ada10: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada10: Command Queueing enabled
ada10: 476940MB (976773168 512 byte sectors)
ada10: quirks=0x1<4K>
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,740
gpart show ada0?
 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
The gpart below

Code:
root@ichigo:~ # gpart show ada0
gpart: No such geom: ada0.
root@ichigo:~ # gpart show
=>       40  117231328  ada1  GPT  (56G)
         40  117231320     1  freebsd-zfs  (56G)
  117231360          8        - free -  (4.0K)

=>      40  15649120  diskid/DISK-20160525D00574375011  GPT  (7.5G)
        40  15649112                                 1  freebsd-zfs  (7.5G)
  15649152         8                                    - free -  (4.0K)

=>       34  976773101  diskid/DISK-WD-WCC1S6162369  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC1S7643973  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WMC1S7028984  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC3FJNFYVKR  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC3F2752336  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC3F1951247  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC3FA91CAKL  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WCC1S7224904  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

=>       34  976773101  diskid/DISK-WD-WMC1S5227326  GPT  (466G)
         34          6                               - free -  (3.0K)
         40       1600                            1  efi  (800K)
       1640        408                               - free -  (204K)
       2048    4194304                            2  freebsd-swap  (2.0G)
    4196352  972576768                            3  freebsd-zfs  (464G)
  976773120         15                               - free -  (7.5K)

 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
in case this would be helpful
Code:
root@ichigo:~ # zpool get all
NAME   PROPERTY                       VALUE                          SOURCE
zroot  size                           4.06T                          -
zroot  capacity                       47%                            -
zroot  altroot                        -                              default
zroot  health                         ONLINE                         -
zroot  guid                           2230032349978032692            default
zroot  version                        -                              default
zroot  bootfs                         zroot/ROOT/default             local
zroot  delegation                     on                             default
zroot  autoreplace                    off                            default
zroot  cachefile                      -                              default
zroot  failmode                       wait                           default
zroot  listsnapshots                  off                            default
zroot  autoexpand                     off                            default
zroot  dedupditto                     0                              default
zroot  dedupratio                     1.00x                          -
zroot  free                           2.12T                          -
zroot  allocated                      1.94T                          -
zroot  readonly                       off                            -
zroot  comment                        iocage                         local
zroot  expandsize                     -                              -
zroot  freeing                        0                              default
zroot  fragmentation                  30%                            -
zroot  leaked                         0                              default
zroot  bootsize                       -                              default
zroot  checkpoint                     -                              -
zroot  multihost                      off                            default
zroot  feature@async_destroy          enabled                        local
zroot  feature@empty_bpobj            active                         local
zroot  feature@lz4_compress           active                         local
zroot  feature@multi_vdev_crash_dump  enabled                        local
zroot  feature@spacemap_histogram     active                         local
zroot  feature@enabled_txg            active                         local
zroot  feature@hole_birth             active                         local
zroot  feature@extensible_dataset     enabled                        local
zroot  feature@embedded_data          active                         local
zroot  feature@bookmarks              enabled                        local
zroot  feature@filesystem_limits      enabled                        local
zroot  feature@large_blocks           enabled                        local
zroot  feature@large_dnode            enabled                        local
zroot  feature@sha512                 enabled                        local
zroot  feature@skein                  enabled                        local
zroot  feature@device_removal         enabled                        local
zroot  feature@obsolete_counts        enabled                        local
zroot  feature@zpool_checkpoint       enabled                        local
zroot  feature@spacemap_v2            active                         local
zroot  feature@allocation_classes     disabled                       local
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,740
The zpool is completely irrelevant with respect to the swap space.

Hmmm ... I am not familiar with that "diskid" mechanism. Possibly if a disk is presented via that device, the /dev/adaN entries are removed by FreeBSD. So you could either disable the diskids completely via /boot/loader.conf:
Code:
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"

or update your /etc/fstab to use e.g. diskid/DISK-WD-WMC1S5227326p2 instead of adaNp2.

HTH,
Patrick
 

Tigersharke

BOfH in User's clothing
Administrator
Moderator
Joined
May 18, 2016
Messages
890
Ok. I'll check on those sysctls. Many thanks for your insights.

I believe the second one was set to 1 but now both are set 0. Made the immediate change and edited the sysctl.conf
 
Last edited:
Top