restrcit physical memory with zone.max-locked-memory

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."