Sun xVM Hypervisor Scheduler
The hypervisor schedules running domains (including domain 0) onto the set of physical
CPUs as configured. The scheduler is constrained by configuration specifications such as the
following.
Domain configuration, such as the number of virtual CPUs allocated.
Runtime configuration, such as pinning virtual CPUs to physical CPUs. Pinning CPUs ensures that certain VCPUs can only run on certain physical CPUs.
The default domain scheduler for the hypervisor is the credit scheduler. This is
a fair-share domain scheduler that balances virtual CPUs of domains across the allowed
set of physical CPUs according to workload. No CPU will be idle if
a domain has work to do and wants to run.
The scheduler is configured through the xm sched-credit command described in the xm(1M) man page.
The following parameters are used to configure the scheduler:
- -d domain, --domain=domain
Domain for which to set scheduling parameters.
- -c cap, --cap=cap
The maximum amount of CPU the domain can consume. A value of zero, which is the default, means no maximum is set. The value is expressed in percentage points of a physical CPU. A value of 100 percent corresponds to one full CPU. Thus, a value of 50 specifies a cap of half a physical CPU.
- -w weight, --weight=weight
The relative weight, or importance, of the domain. A domain with twice the weight of the other domains receives double the CPU time of those other domains when CPU use is in contention. Valid weights are in the range 1-65536. The default weight is 256.
Example 37-1
xm sched-credit Configuration
The following line configures scheduling parameters for the domain sol1. The domain
has a weight of 500 and a cap of 1 CPU.
xm sched-credit -d sol1 -w 500 -c100
If used without the -w and -c options, the current settings for the
given domain are shown.