rcapd - 资源上限执行守护进程
rcapd [-d]
rcapd 守护进程会对进程集合强制执行资源上限。支持按项目和按区域设置物理内存上限。有关项目信息,请参见 project(5)。有关区域信息,请参见 zones(7)
进程集合的驻留集大小 (resident set size, RSS) 超出其上限时,rcapd 会采取操作并减小该集合的 RSS。
虚拟内存系统将物理内存分为多个段,这些段称为页面。要将文件中的数据读取到内存,虚拟内存系统会在各个页面中执行读取操作。为减少资源占用,守护进程可以对不常用的页面执行页出操作或将其重新定位到物理内存以外的区域。
在 project 文件中,为其中以下项目属性的值为正值的项目定义上限:
项目的成员进程可用的物理内存总量(以字节为单位)
有关项目属性说明,请参见 project(5)。
对于具有一个或多个区域的系统,可使用 rcapadm(8) 为区域动态设置 rcap.max-rss 值。要在区域内设置内存使用持久性上限,请使用 zonecfg(8)。
通过使用 rcapadm(8) 对 rcapd 进行配置。可以使用 rcapstat(1) 监视该守护进程。通过向 rcapd 发送 SIGHUP(请参见 kill(1)),或根据配置间隔(请参见 rcapadm(8)),将配置更改合并到该守护进程中。
支持以下选项:
启用调试模式。消息显示在调用用户的终端上。
/etc/project 数据库中的以下行将名为 foo 的项目的 RSS 上限设置为 1073741824 个字节。
foo:100::foo,root::rcap.max-rss=10737418240
将返回以下退出值:
成功完成。
出现错误。
指定的命令行选项无效。
项目数据库。
有关下列属性的说明,请参见 attributes(7):
|
rcapstat(1), svcs(1)、project(5)、attributes(7)、smf(7)、zones(7)、rcapadm(8)、svcadm(8)、zonecfg(8)
如果有任何信号中断了 rcapd,则所有正在运行的扫描将立即停止并且 rcapd 将干净地退出。
在强制执行上限之前的一段时间内,集合的 RSS 可超出其上限,即使有足够的可分页内存。可通过使用 rcapadm 缩短 RSS 抽样间隔来缩短该时间段。
如果某个集合长时间超出其 rss 上限,则 rcapd 可能会停止对该集合强制执行上限并记录一条消息来建议设置合适的上限。之后,rcapd 可以恢复对该集合强制执行上限。
要强制 rcapd 恢复强制执行上限,请为集合设置合适的上限并且/或者查找行为不当的进程并重新启动 rcapd。
rcapd 服务由服务管理工具 smf(7) 管理,其服务标识符为:
svc:/system/rcap:default
可以使用 svcadm(8) 来对此服务执行管理操作(如启用、禁用或请求重新启动)。可以使用 svcs(1) 命令来查询服务的状态。