RCAPD(8) Maintenance Commands and Procedures RCAPD(8)
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(5). For zones information,
see zones(7)
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(5) 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(8). To set a persistent
cap on memory usage within a zone, you use zonecfg(8).
You configure rcapd through the use of rcapadm(8). 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(8)).
The following option is supported:
-d
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:
0
Successful completion.
1
An error occurred.
2
Invalid command-line options were specified.
/etc/project
Project database.
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
rcapstat(1), svcs(1), project(5), attributes(7), smf(7), zones(7),
rcapadm(8), svcadm(8), zonecfg(8)
"Physical Memory Control Using the Resource Capping Daemon" in System
Administration Guide: Solaris Containers-Resource Management, and
Solaris Zones
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(7), 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(8). The
service's status can be queried using the svcs(1) command.
December 19, 2006 RCAPD(8)
NAME
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(5). For zones information,
see zones(7)
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(5) 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(8). To set a persistent
cap on memory usage within a zone, you use zonecfg(8).
You configure rcapd through the use of rcapadm(8). 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(8)).
OPTIONS
The following option is supported:
-d
Enable debug mode. Messages are displayed on the invoking
user's terminal.
EXAMPLES
Example 1: Setting Resident Set Size Cap Attribute
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
EXIT STATUS
The following exit values are returned:
0
Successful completion.
1
An error occurred.
2
Invalid command-line options were specified.
FILES
/etc/project
Project database.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
SEE ALSO
rcapstat(1), svcs(1), project(5), attributes(7), smf(7), zones(7),
rcapadm(8), svcadm(8), zonecfg(8)
"Physical Memory Control Using the Resource Capping Daemon" in System
Administration Guide: Solaris Containers-Resource Management, and
Solaris Zones
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(7), 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(8). The
service's status can be queried using the svcs(1) command.
December 19, 2006 RCAPD(8)