缺省情况下,创建solaris 区域时,它将占用全局区域中的所有CPU 和内存资源。
有多种方法可以限制区域使用的内存。
资源上限守护进程可以限制区域使用的内存。
也可以在不重新启动区域的情况下在线更改内存和交换分配给区域。
内存上限
rcapd 守护进程负责内存上限及其管理。
在区域配置中添加上限内存为特定区域设置上限内存。
要使上限内存生效,我们需要重新启动该区域。
物理、交换和锁定参数都是可选的,但至少应使用一个参数。
添加上限内存后,zone01 将使用全局区域中 50 MB 的物理内存并使用 100 MB 的交换空间。
锁定 (30m) 参数指定从全局区域始终可用于 zone01 的最小物理内存量。
在为区域分配内存上限之前,请确保 rcapd 守护进程正在运行,如果没有启动它:
global # svcadm enable rcap global # rcapadm -E
进入 zone 配置模式以将内存上限添加到 zone01 :
global # zonecfg -z zone01 zonecfg:zone01> add capped-memory zonecfg:zone01:capped-memory> set physical=50m zonecfg:zone01:capped-memory> set swap=100m zonecfg:zone01:capped-memory> set locked=30m zonecfg:zone01:capped-memory> end
这需要重新启动才能生效。
重启后检查上限内存的分配:
global # zoneadm -z zone01 reboot
global # zonecfg -z zone01 info
root@zone01:~# swap -l swapfile dev swaplo blocks free /dev/swap - 8 204800 104600
以块为单位的 204800 结果为 100 MB。
检查分配给区域的物理内存
root@zone01:~# prtconf -vp | grep Mem prtconf: openprom facility not available Memory size: 50 Megabytes
on it road.com
在不重启区域的情况下修改上限内存和交换
启动solaris 10 u4 我们可以修改分配给区域的上限内存和交换,而无需重新启动它。
要将上限内存更改为区域:
global # rcapadm -z myzone -m 12G
要修改分配给区域的交换空间:
global # prctl -n zone.max-swap -v 2g -t privileged -r -e deny -i zone myzone
日期:2020-09-17 00:15:16 来源:oir作者:oir