Every time you start to play with virtualization or have to work with it, you must check if your processor has virtualization support. This feature is helpful, because you can improve the guest/vm performance. Instructions are trapped and emulated at the hardware level (Intel® VT-x/VT-i and AMD-V™). This means that a guest can run without specific modifications to allow for virtualization.
Most of the times this feature is disabled from the bios, and you have to enabled in order to take full advantage of the processor capabilities.
For example in a Sun x6270 Server, we can review the information from more /proc/cpuinfo. This a common way that many sites and blogs recommend.
[root@oraclevm etc]#
dmidecode | grep -A3 '^System Information'
System Information
Manufacturer: Oracle Corporation
Product Name: Sun Blade X6270 M3
Version: N/A
[root@oraclevm ~]# more /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
stepping : 7
microcode : 0x710
cpu MHz : 2494.092
cache size : 15360 KB
physical id : 0
siblings : 12
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi
mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl nonstop_tsc eag
erfpu pni pclmulqdq monitor est ssse3 cx16 sse4_1 sse4_2 popcnt tsc_deadline_tim
er aes xsave avx hypervisor lahf_lm ida arat epb pln pts dtherm xsaveopt
bugs :
bogomips : 4988.18
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
We need to search for the following flags
vmx – (intel)
svm – (amd)
We are not able to see in our case the vmx flag. Let's move to the bios
Once I logged into the bios I went to Main->Cpu Information .I can confirm that virtualization support is enabled
I also went to IO->IO Virtualization and enabled each option
VT-d: Enabled
SR-IOV: Enabled
ARI: Enabled
and saved the changes and rebooted the server
After that I'm not able to see again the vmx flag
[root@oraclevm ~]#
grep vmx /proc/cpuinfo
[root@oraclevm ~]#
After digging into google, I found this
article.
I'm using Oracle VM, that runs a XEN kernel and according to the previous article
Tip # 3: XEN Kernel
By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:
cat /sys/hypervisor/properties/capabilities
You must see hvm flags in the output. If not reboot the box and set Virtualization in the BIOS
Once I run cat /sys/hypervisor/properties/capabilities ,i can see the right values
[root@oraclevm ~]# cat /sys/hypervisor/properties/capabilities
xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
So I think we are good :).
Another tool that I found useful and interesting during this research was
virsh.
Thanks for visiting
Cheers
Rodolfo