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:
setup
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.
swapon
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.
uninstall
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:
CONF_SWAPFILE
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.
CONF_SWAPSIZE
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.
CONF_SWAPFACTOR
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.
CONF_MAXSWAP
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/run/swap, he can use:
In /etc/dphys-swapfile:
CONF_SWAPFILE=/var/run/swap
[email protected], http://neil.franklin.ch/