When using resource capping (for CPU in this case). If a container is restricted to use a single CPU/core, are the other containers intelligent enough to know that they have fewer CPU's available to them?
My question relates to a T2000 which is 8core. I want to restrict one zone to use only a single core while the other remain unrestricted, Would the other zone still think they've got 8core available to them though?
No, they are intelligent enough to know they (potentially) still have all of the CPUs available. The other containers are not implicitly capped.
Sure, they'll have the CPUs available (more precisely all zones will still share all of the CPUs).
By the way, if you want to cap the container to one core on a T2000, make sure you set ncpu to 8, not 1.
pooladm is the best way to go. I had this excercise when I had to enforce Oracle licensing. Only latest versions of solaris 10 will allow dedicated cpu parameters to be used within the zone.
Therefore I tend to use pooladm / set up dedicated processor pools, align the zone to use them. This means that when in the zone, if you do a `mpstat` you will see on the number of dedicated cpus. If you use the zonecfg configuration method, `mpstat` will show all cpus from the GZ.