Hard Partitioning with Oracle VM Server

Some quick notes to “pin” (or hard partition) a virtual machine to a specific core.

Download OVM utils which is found in patch 13602094 (Oracle Support): ORACLE VM 3.0 UTILS RELEASES: 1.0.2, 2.0.1, 2.1.0.

When you extract the zip file you will find three zip files for the different Oracle VM versions:
Patch Details
ovm utils now consists of 3 packages
* ovm_utils_1.0.2.zip : for Oracle VM versions 3.0, 3.1 and 3.2
* ovm_utils_2.0.1.zip : for Oracle VM version 3.3
* ovm_utils_2.1.0.zip : for Oracle VM version 3.4

Extract the correct version on the Oracle VM Manager server to /u01/app/oracle/ovm-manager-3/

You can use “xm info” on an Oracle VM Server to print out CPU information:xm info
This server has one socket with four cores and two threads per core.

The “xenpm  get-cpu-topology” command prints out the thread/core/socket topology:
xenpm get-cpu-topology
CPU0 is thread 1 of core 0 and CPU1 is thread 2 of core 0.

You can check which virtual machines are using which CPU’s with the command “xm vcpu-list”:
xm vcpu-list
The actual pinning is performed on the Oracle VM Manager server by using the command “ovm_vmcontrol”.

Use the parameter “-c getvcpu” the get the current hard partition information for a virtual machine:getcpuUse the parameter “-c setvcpu” to pin a virtual machine to a CPU:setcpu
Stop and start the virtual machine after pinning the CPU’s.

You can also pin CPU’s by editing vm.cfg:
vmcfgStop and start the virtual machine after making changes to the vm.cfg file.