Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getpagesize(2)

vm_ctl(2)

VMTUNE(8)  —  UNIX Programmer’s Manual

NAME

vmtune − tune system-wide virtual-memory parameters

SYNOPSIS

/etc/vmtune [ −f ] [ options ]

DESCRIPTION

Vmtune provides a programmatic interface to the vm_ctl(2) system call, allowing display and tuning of system-wide virtual-memory parameters. With no arguments, vmtune prints the current contents of the vmtune structure in the kernel, which holds the tuning parameters.  The decimal value of each field is printed next to the name of the field.  All memory sizes are displayed and entered in Kbytes. 

Options allow the modification of the parameters, either individually or as a group.  Only the super-user may alter the setting of the parameters.  Options come in both a short form (easy to type) and long form (easy to remember).  Available options are:

-r minRS

-minRS minRS
minimum size of a process resident-set, in Kbytes. This value is silently enforced to be at least two, and limited by maxRS.

-R maxRS

-maxRS maxRS
maximum size of a process resident-set, in Kbytes. This value is silently enforced to be at least two, and limited by a boot-time determined value that insures the resident-set can fit in physical memory.

-e RSexecslop

-RSexecslop RSexecslop
See RSexecdiv below. 

-m RSexecmult

-RSexecmult RSexecmult

See RSexecdiv below.  -d RSexecdiv

-RSexecdiv RSexecdiv
The exec(2) system-call determines the initial resident-set size of a process via

((text + data + bss) ∗ RSexecmult) / RSexecdiv + RSexecslop

where RSexecmult / RSexecdiv provides a rational fraction and all other values are in Kbytes.

-L dirtylow

-dirtylow dirtylow
minimum size of the dirty-memory list, in Kbytes.

-H dirtyhigh

-dirtyhigh dirtyhigh
maximum size of the dirty-memory list, in Kbytes. When the size of the dirty-list exceeds this, a system process begins writing pages to swap-space. Once this process starts, it won’t stop until the size of the dirty-list is within the maximum pageout-size of dirtylow.  The maximum pageout size is currently 16 Kbytes. 

-K klout_look

-klout_look klout_look
When the pageout process runs, it attempts to locate dirty pages that live in adjacent blocks on the swap device(s) to write with one operation (to minimize the number of I/O requests). Klout_look specifies how deep into the dirty-list it will look (in kernel pages).  A value of zero disables clustered pageouts. 

-v PFFvtime

-PFFvtime PFFvtime
the number of clock ticks (10ms) of process virtual time between calls to the page-fault frequency algorithm. If zero, page-fault frequency adjustment of all processes is disabled. If non-zero, when the interval elapses the system normalizes the number of page-faults the process has taken to number of faults per second, and may adjust the resident-set size of the process up or down depending on the rate. This adjustment takes place on a per-process basis.

-D PFFdecr

-PFFdecr PFFdecr
the number of Kbytes to reduce the resident-set of the process if its page-fault rate is below PFFlow. 

-l PFFlow

-PFFlow PFFlow
page-fault frequency lower-limit (page-faults per second).

-I PFFincr

-PFFincr PFFincr
the number of Kbytes to increase the resident-set of the process if its page-fault rate is above PFFhigh. 

-h PFFhigh

-PFFhigh PFFhigh
page-fault frequency upper-limit (page-faults per second).

-s minfree

-minfree minfree
the lower-bound on average free memory (in Kbytes) before the swapper gets more aggressive about swapping out processes.

-S desfree

-desfree desfree
the swapper wants this much memory (in Kbytes) to be free on the average.

-M maxdirty

-maxdirty maxdirty
if the average size of the dirty-list (in Kbytes), the swapper becomes equally as aggressive as in the minfree case.

The DYNIX kernel does some sanity checking on the altered values, but improper or naive settings can adversely affect the performance and other behavior of the system.  Because of this, vmtune normally dumps the values and asks for verification of the change.  The −f flag forces the change with no verification query. 

SEE ALSO

getpagesize(2), vm_ctl(2)

BUGS

There should be guidelines on why, when, and how to alter these parameters. 

Naive setting of the parameters can adversely affect system performance. 

DYNIX

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026