swapd

Langue: en

Version: 327958 (ubuntu - 08/07/09)

Section: 8 (Commandes administrateur)

NAME

swapd - dynamic swapping manager

SYNOPSIS

swapd [-h] [--help] [--copyright] [--config file] [--maxswaps n] [--memlimit kb] [--mkswap path] [--pause msec] [--pidfile file] [--swapdir dir] [--swapsize kb] [--timeout sec]

DESCRIPTION

swapd is a dynamic swapping manager. It provides the system with as much swap space (virtual memory) as is required at a particular time by dynamicly creating swap files. This is more convinient than using fixed swap files and/or partitions because they (a) are unused most of the time and are just taking up disk space; and (b) provide a limited amount of virtual memory.

OPTIONS

All values given on the command line will override config file values.
-h--help
Displays the command line help.
--copyright
Displays the copyright notice.
--config file
Location of an alternate configuration file.
--maxswaps n
Maximum number of swap files. No more than n swap files will be used. The default is 8 (as many as the default kernel will allow).
--memlimit kb
Memory limit in kilobytes. When the total amount of free memory gets below this number, swapd creates a new swap file.
--mkswap path
Location of mkswap(8), usually /sbin/mkswap.
--pause msec
Pause between memory checks in miliseconds (when the total amount of free memory is above memlimit).
--pidfile file
Location of the PID file, usually /var/run/swapd.pid.
--swapdir dir
Swap directory where all the swap files are kept.
--swapsize kb
Swap file size (>=64k).
--timeout sec
Timeout. If the last created swap file is unused for sec seconds, it will be removed. The last created swapfile is considered unused when there are more than memlimit + swapsize kb of free memory (physical + swap).

CONFIGURATION

This is an example configuration file:
 # swapd.conf - config file for swapd
 #
 # Copyright 2000 Neven Lovric <nlovric@jagor.srce.hr>
 #
 
 # Memory limit in kilobytes.
 # When the total amount of free memory gets below this number, swapd creates
 # a new swap file.
 # 16384 or more recommended
 memlimit 16384
 
 # Pause between memory checks in miliseconds.
 # When the total amount of free memory is above <memlimit>, swapd will pause
 # for <pause> miliseconds before checking memory again.
 # 1000 should be ok for most systems
 pause 1000
 
 # Swap file size in kilobytes.
 # >= 64, 4096 recommended
 swapsize 4096
 
 # Maximum number of swap files.
 # No more than <maxswaps> swap files will be used.
 # 0 = unlimited (as many as the kernel will allow)
 # 8 = how many a default kernel allows
 maxswaps 8
 
 # Timeout in seconds.
 # If the last created swap file is unused for <sec> seconds, it will be
 # removed. The last created swapfile is considered unused when there are
 # more than <memlimit> + <swapsize> kb of free memory (physical + swap).
 # 60 is nice
 timeout 60
 
 # Swap directory where all the swap files are kept.
 swapdir /swap
 
 # PID file (where the currently running swapd stores it's PID so a new swapd
 # can find it)
 pidfile /var/run/swapd.pid
 
 # Full path to mkswap.
 mkswap /sbin/mkswap
 

PERFORMANCE

The most important parameter which may drasticly effect performance is the memory limit. If the memory limit is low, (1) there may not be enough memory ready for a program to allocate at once or (2) swapd may not be able to create new swap files before we run out of memory. If your programs are running out of memory, it will primarily be due to a low memory limit. If you really want to have a low memory limit, you should decrease the swap size and pause.

The second important parameter is the swap size. If you choose to use bigger swap files, you may experience slowdowns when swap files are created. On the other hand, small swap files may lower performance when there are many of them. The important thing is not to make them too big to create before we run out of memory.

Another important parameter is the pause, which should be shorter on faster systems. If it is too long, swapd may fail to detect rapid memory changes and therefore fail to create new swap files when they are needed. However, if you notice swapd is constantly using too much CPU, increase the pause.

FILES

/etc/swapd.conf
/var/run/swapd.pid
/etc/init.d/swapd
SWAPDIR/linux*.swp

BUGS

Might fail if swapping over NFS

SEE ALSO

mkswap(8), swapon(8), swapoff(8), free(8)

MAINTAINER

Aigars Mahinovs <aigarius@debian.org>

AUTHOR

Neven Lovric <nlovric@linux.hr>

The latest upstream version is available via anonymous ftp:

ftp://ftp.linux.hr/pub/swapd