rcapd - resource cap enforcement daemon
rcapd [-d]
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:
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)).
The following option is supported:
Enable debug mode. Messages are displayed on the invoking user's terminal.
The following line in the /etc/project database sets an RSS cap of 1073741824 bytes for a project named foo.
foo:100::foo,root::rcap.max-rss=10737418240
The following exit values are returned:
Successful completion.
An error occurred.
Invalid command-line options were specified.
Project database.
See attributes(5) for descriptions of the following attributes:
|
rcapstat(1), svcs(1), rcapadm(1M), zonecfg(1M), svcadm(1M), project(4), attributes(5), smf(5), zones(5)
“Physical Memory Control Using the Resource Capping Daemon” in System Administration Guide: Solaris Containers-Resource Management, and Solaris Zones
If any signal interrupts rcapd, all running scans are stopped immediately and rcapd exits cleanly.
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.
If a collection exceeds its rss cap for a long time, rcapd may stop enforcing caps on that collection and log a message suggesting setting appropriate caps. Later, rcapd may resume to enforce caps on this collection.
To force rcapd to resume enforcing caps, set appropriate cap for the collection and/or look for misbehaving processes and restart rcapd.
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.