DOKK / manpages / debian 12 / dphys-swapfile / dphys-swapfile.8.en
DPHYS-SWAPFILE(8) System Manager's Manual DPHYS-SWAPFILE(8)

dphys-swapfile - set up, mount/unmount, and delete an swap file

dphys-swapfile setup|install|swapon|swapoff|uninstall

dphys-swapfile computes the size for an optimal swap file (and resizes an existing swap file if necessary), mounts an swap file, unmounts it, and deletes it it is not wanted any more.

There is only one parameter, an command, which can be either of these:

and install Both tell dphys-swapfile to compute the optimal swap file size and (re-)generate an fitting swap file. Default it 2 times RAM size. This can be called at boot time, so the file allways stays the right size for current RAM, or run by hand whenever RAM size has changed.
and swapoff These run the swapon and swapoff commands on the swapfile. Note that direct swapon/off from /etc/fstab is not possible, as that is (at least on Debian) done in the same script that mounts /var (which is where the swap file most likely resides). And we need to do our setup between those actions. So we pass up on /etc/fstab, and do our own swapon/off here.
Gets rid of an unwanted swap file, reclaiming its disk space.

The config file /etc/dphys-swapfile allows the user to set up the working environment for dphys-swapfile.

This config file is a sh script fragment full of assignments, which is sourced. Standard sh syntax rules apply. Assignments are:

Set where the swap file should be placed. Defaults to /var/swap. It is unlikely that you will need to change this, unless you have very strange partitioning, and then you will most likely be using an swap partition anyway.
Set size to this absolute value, in MBytes. Leaving this empty (which is the Default) uses an computed value as size instead. This is unlikely to ever be needed, unless in some strange diskspace situations. Note, that swap enabled and size smaller than RAM may causes kernal-internal VM troubles on some kernels/systems.
Set size to computed value. Uses this value times RAM size. It so dynamically adapts to RAM size, guarantees enough swap on large RAM, without going into excess diskspace on small RAM (and disk?) systems. Defaults to 2, which gives swap size = 2 * RAM size.
Sets the maximal percentage of the remaining disk space which may be used for the swap file. Takes potentially existing dphys-swapfile swap files into account, i.e. adds their size to the available disk space before calculating the percentage. Defaults to 50. Set it to the empty string to disable this check.
Set size restriction of maximal computed and absolute(!) values, in MBytes. Defaults to 2048 which was a former 32bit kernel limit for the swapfile size and is now a limit to prevent unusually and senselessly big swap files on systems with a lot of RAM.

/etc/dphys-swapfile
user config
$CONF_SWAPFILE
the swap file, target of the whole action (defaults to /var/swap)

dphys-swapfile is usually run at system startup and shutdown from an /etc/init.d (or /etc/rc.d) script, such as this (minimal) one:

#!/bin/sh
# /etc/init.d/dphys-swapfile - automatically set up an swapfile
# author franklin, last modification 2004.06.04
# This script is copyright ETH Zuerich Physics Departement,
#   use under either modified/non-advertising BSD or GPL license
case "$1" in

start)
/sbin/dphys-swapfile setup
/sbin/dphys-swapfile swapon
;;
stop)
/sbin/dphys-swapfile swapoff
;; esac exit 0

If an sysadmin wants to have the swapfile in another place, say /var/tmp/swap, he can use:

In /etc/dphys-swapfile:

CONF_SWAPFILE=/var/tmp/swap

neil@franklin.ch, http://neil.franklin.ch/

2010.05.05 D-PHYS Swapfile Tools