rcapd

- resource cap enforcement daemon

Synopsis

rcapd [-d]

Description

The rcapd daemon enforces resource caps on collections of processes. Per-project and
per-zone physical memory caps are supported. For information about projects, see project(4).
For zones information, see zones(5)

When the resident set size (RSS) of a collection of processes exceeds
its cap, rcapd takes action and reduces the RSS of the collection.

The virtual memory system divides physical memory into segments known as pages.
To read data from a file into memory, the virtual memory system
reads in individual pages. To reduce resource consumption, the daemon can page
out, or relocate, infrequently used pages to an area outside of physical memory.

In the project file, caps are defined for projects that have positive
values for the following project attribute:

rcap.max-rss

The total amount of physical memory, in bytes, that is available to the project's member processes

See project(4) for a description of project attributes.

For a system with one or more zones, you can dynamically set
the rcap.max-rss value for a zone with rcapadm(1M). To set a persistent cap
on memory usage within a zone, you use zonecfg(1M).

You configure rcapd through the use of rcapadm(1M). The daemon can be
monitored with rcapstat(1). Configuration changes are incorporated into rcapd by sending it
SIGHUP (see kill(1)), or according to the configuration interval (see rcapadm(1M)).

Notes

If killed with SIGKILL, rcapd can leave processes in a stopped state.
Use SIGTERM to cause rcapd to terminate properly.

A collection's RSS can exceed its cap for some time before the
cap is enforced, even if sufficient pageable memory is available. This period
of time can be reduced by shortening the RSS sampling interval with
rcapadm.

The rcapd service is managed by the service management facility, smf(5), under
the service identifier:

svc:/system/rcap:default

Administrative actions on this service, such as enabling, disabling, or requesting restart,
can be performed using svcadm(1M). The service's status can be queried using the
svcs(1) command.