Is it possible to restrict physical memory in solaris zone with zone.max-locked-memory just like we can do with rcapd ? I do not want to used rcapd
Yes, I believe it still "uses" rcapd though.
zonecfg:zone1> add capped-memory
zonecfg:zone1:capped-memory> set physical=14000m
zonecfg:zone1:capped-memory> set swap=30000m
zonecfg:zone1:capped-memory> set locked=5000m
zonecfg:zone1:capped-memory> end
zonecfg:zone1> commit
zonecfg:zone1> exit
Be careful with "swap." Swap is real "swap" plus physical. So don't set physical below swap or you'll start seeing some funky behaviour.
A reboot(zone) is required and you can verify using, "rcapstat -z."