Next | Prev | Up | Top | Contents | Index
Paging Parameters
The paging daemon, vhand, frees up memory as the need arises. This daemon uses a ''least recently used'' algorithm to approximate process working sets and writes those pages out to disks that have not been touched during a specified period of time. The page size is 4K for 32 bit kernels and 16K for 64 bit kernels. When memory gets exceptionally tight, vhand may swap out entire processes.
The vhand program reclaims memory by:
- stealing memory from processes that have exceeded their permissible resident set size maximum, forcing delayed write data buffers out to disk (with bdflush) so that the underlying pages can be reused
- calling down to system resource allocators to trim back dynamically sized data structures
- stealing pages from processes in order of lowest-priority process first, and the least-recently-used page first within that process
- swapping out the entire process
The following tunable parameters determine how often vhand runs and under what conditions. Note that the default values should be adequate for most applications.
The following parameters are included:
- bdflushr - specifies how often, in seconds, the bdflush daemon is executed; bdflush performs periodic flushes of dirty file system buffers.
- gpgsmsk - specifies the mask used to determine if a given page may be swapped.
- gpgshi - the number of free pages above which vhand stops stealing pages.
- gpgslo - the number of free pages below which vhand starts stealing pages
- maxlkmem - The maxlkmem parameter specifies the maximum number of physical pages that can be locked in memory (by mpin(2) or plock(2)) by a non-superuser process.
- maxsc - the maximum number of pages that may be swapped by the vhand daemon in a single operation.
- maxfc - the maximum number of pages that will be freed at once.
- maxdc - the maximum number of pages that will be written to disk at once.
- minarmem - the minimum available resident pages of memory.
- minasmem- the minimum available swappable pages of memory.
- tlbdrop - number of clock ticks before a process' wired entries are flushed.
- vfs_syncr - The rate at which vfs_syncr is run, in seconds.
- maxpglst - The maximum number of pages that can be held in each pageout queue.
- bdflushr
-
- gpgsmsk
-
- gpgshi
-
- gpgslo
-
- maxlkmem
-
- maxfc
-
- maxsc
-
- maxdc
-
- minarmem
-
- minasmem
-
- tlbdrop
-
- vfs_syncr
-
- maxpglst
-
Next | Prev | Up | Top | Contents | Index