Не могу найти общее ограничение на использование RAM для всех зон суммарно.
В хостовой системе присутствует 11 Гб свободной оперативки. При настройке зоны задаем:
add capped-memory
set physical=4000m
set swap=4000m
set locked=4000m
verify
commit
exit
#zoneadm -z zone reboot
В хостовой системе не видим изменения по расходу оперативной памяти. После загрузки зоны, пытаемся скушать хотя бы 2 Гб оперативки, и получаем сообщение о нехватке. Если отключить остальные зоны, то приложение запускается, при этом в хостовой системе prstat -Z показывает о выделении RSS в районе 900Мб, остальное догоняет свапом. Top хостовой системы, показывает свободной 11Гб RAM.
echo ::memstat | mdb -k
Kernel 494477 1931 12%
ZFS File Data 294805 1151 7%
Anon 380746 1487 9%
Exec and libs 24914 97 1%
Page cache 39728 155 1%
Free (cachelist) 43975 171 1%
Free (freelist) 2913129 11379 69%
Total 4191774 16374
Physical 4191773 16374
top
Memory: 16G phys mem, 11G free mem, 8191M total swap, 8191M free swap
prstat -Z
ZONEID NPROC SWAP RSS MEMORY TIME CPU ZONE
0 102 393M 206M 1,3% 0:02:43 1,1% global
17 23 2503M 365M 2,2% 0:00:27 0,0% zone1
10 23 2502M 362M 2,2% 0:00:26 0,0% zone2
19 26 8049M 43M 0,3% 0:00:02 0,0% zone3
5 23 69M 54M 0,3% 0:00:07 0,0% zone4
12 23 71M 52M 0,3% 0:00:08 0,0% zone5
7 23 739M 132M 0,8% 0:00:09 0,0% zone6
4 23 67M 53M 0,3% 0:00:08 0,0% zone7
14 23 69M 54M 0,3% 0:00:08 0,0% zone8
11 23 68M 53M 0,3% 0:00:08 0,0% zone9
3 23 70M 55M 0,3% 0:00:08 0,0% zone10
6 23 66M 52M 0,3% 0:00:08 0,0% zone11
2 23 71M 56M 0,3% 0:00:08 0,0% zone12
15 22 29M 38M 0,2% 0:00:02 0,0% zone13
Стандартный конфиг для всех зон
:~# zonecfg -z zone info
zonename: zone
zonepath: /zone/zone
brand: ipkg
autoboot: true
bootargs: -m verbose
pool:
limitpriv: default,sys_time
scheduling-class: FSS
ip-type: shared
hostid:
fs-allowed:
net:
address: 192.168.1.30
allowed-address not specified
physical: rge0
defrouter: 192.168.1.1
attr:
name: comment
type: string
value: zone