## Monitor the virtual memory system ##

[Author](authors.html): _name_ _[[contact]]_ _[[BSD_flavour]]_

[Reviewer](technical_reviewers.html): _name_ _[[contact]]_ _[[BSD_flavour]]_

[Reviewer](technical_reviewers.html): _name_ _[[contact]]_ _[[BSD_flavour]]_

----



### Concept ###

The virtual memory subsystem may have an important impact on a system's
overall performance. Be able to configure
a swap device and review swap usage.


### Introduction ###

TODO: define thrashing (((thrashing)))?

TODO: mention NetBSD example?? UVM: pid 8808 (perl), uid 1000 killed: out of swap

TODO: show examples of swap in fstab

TODO: mention start up scripts for enabling swap devices and files and basic setup

TODO: show examples on FreeBSD and test this; is this the preferred beginner way?

""$ mdev=&#96;mdconfig -a -t vnode -f */path/to/swap/file*&#96;
""$ swapon /dev/${mdev}

TODO: check this DragonFly example:

""$ **vnconfig -e vn0c */path/to/swap/file* swap**

TODO: show examples of loading swap file on OpenBSD or NetBSD

On NetBSD and OpenBSD, the `swapctl` tool can be used to enable swap devices or files at boot time.
The following two commands are often done by default in NetBSD and OpenBSD startup to enable all block-type swap devices
and swap files listed in /etc/fstab (with "sw"), respectively:

    swapctl -A -t blk

    swapctl -A -t noblk

NetBSD swap partition example in /etc/fstab:

    /dev/wd0b none swap sw 0 0

TODO: show example of swap file in fstab


NetBSD and OpenBSD's `swapctl` tool can be used to add, remove, prioritize, and list swap files and devices.

TODO: this topic should not go into detail on virtual memory theory but just quickly explain it

Some tools to quickly show physical and/or virtual memory utilization are pstat, systat, top, and vmstat.
On FreeBSD and DragonFly, the swapinfo tool is same as "pstat -s".

The following example lists the enabled swap files and devices:

""$ **pstat -s -k**
""Device        1K-blocks     Used    Avail Capacity  Priority
""/dev/wd0b        170800   101004    69796    59%    0
""/opt/swapfile    250000   129680   120320    52%    0
""Total            420800   230684   190116    55%

TODO: should this mention that this is same as 'swapctl -l -k' ??

TODO: mention that DragonFly has "Type" like "Interleaved". I don't see on FreeBSD.
TODO: while NetBSD and OpenBSD have "Priority"

TODO: should this mention unloading swap files? some systems may not support unloading sawp devices??

TODO: show how to read top for virtual memory info

TODO: show how to use vmstat for virtual memory info

TODO: show how to use systat for virtual memory info


### Examples ###


### Practice Exercises ###


### More information ###

pstat(8); systat(1); top(1); vmstat(8); swapctl(8); swapinfo(8)

TODO: add swapon(8) and fstab(5)
