Questions regarding CPU cores vs rctl limit

Hi,

I am trying to gather cpu core details and used this script - Solaris & Scripting: Script - Find cpu - model / type / count / core / thread / speed - Solaris Sparc
For auuditing purpose, we want to know how many cores are being used by Oracle, because oracle license will be charged on number of cores.

Oracle is running on one of the zone (out of 17 non-global zones) and it is supposed to use 1 core only, but looks like it is not configured correct. Below is the output from global as well as zone

CPU Model is : Intel(r)
CPU Type is : i386
Total number of physical processors: 2
Number of virtual processors: 16
Total number of cores: 8
Number of cores per physical processor: 4
Number of hardware threads (strands or vCPUs) per core: 2
Processor speed: 3067 MHz (3.06 GHz)

What is significance of limit=1 in this output from zonecfg ?

rctl:
        name: zone.cpu-shares
        value: (priv=privileged,limit=1,action=none)

Only one zone is having limit=2 and rest all 16 zones are having limit=1. Will it not be restrcing cores anbd Oracle should see and charged only for one core ?

Please suggest

Thanks

No. You will need to create a pset with wanted cpu cores and alocate that to specific zone or zones to compliant as far as i recall.

Lets say for simplicity you have 10 zones, 1 global zone and 9 zones
9 zones have 1 vcpu share (including global), while 1 zone has 2 vcpu share.

This means that in only in the case of cpu pressure, say 100%, kernel will guarantee each zone 10% of resources (1 cpu share) and one zone (2 cpu shares) will get 20% of cpu resources.
Not cores per se, but compute power using FSS scheduler.

For instance, all zones are mostly idle using total of 10% cpu, any zone will able to use rest of cpu time, as long there is no competition for cpu time.
Only under cpu pressure the scheduler will kick in to alocate time per ratio (1:1:1:1:1:1:1:1:1:2 = 100) to ensure quality of service per shares configuration.

When using psets allocated to zones, a zone will have dedicated cores defined in pset and no other zone will able to use those cores.
And you will be compliant as oracle hard partition, if that didn't change in the meantime...

Hope that helps.
Regards
Peasant.

2 Likes

This was very helpful explanation. Thanks