According to the manual :
EBS(hardware event-based ) analysis within a virtual machine is supported only in VMware Fusion* 5 virtual environment.
Now we are using open-stack based on KVM. Does Vtune support hardware event-based sample in our lab?
Unfortunately VTune drivers cannot be used on KVM. You have options:
1. Use basic hotspots to collect performance data.
2. Use "perf", this utility has been integrated in VTune, see this article to know steps. Note that event "instructions" might not be found on KVM, (remove this, event "cpu-cycles" can be used). Use "perf list" or "amplxe-perf list" to check supported events
3. (Might not be supported on KVM) driver-less advanced-hotspost since VTune Amplfier XE 2015 U2. Read this, check /sys/devices/cpu/events to know if your environment support perf's events. Most likely, you need to install recent Linux* operation system.
I had submitted this new feature request to engineering team, three months ago.
Developer will consider this feature request, this may or may not be in future releases. There is no detail schedule about this, thanks for your understandings. You can use temp workarounds I posted yesterday.
Unfortunately, we can't pre-announce features or support. So, even if we *were* going to support KVM, we couldn't say that here until support is available.
All you can do is 1) try it, 2) wait for a version that supports it or 3) use a non-VM system to optimize performance and then run it on your VM for production/testing.
Hi Peter & MrAnderson,
we can use Vtune to collect data in open-stack lab(based on KVM).
what we concern is the data accuracy.
Can we assume that if we can collect date using hardware event based sampling, the date is accurate?
You know what they say about "assuming"!
We don't test on KVM, so we have no advice for you. I suggest you collect data and see if it aligns with what you believe is happening. Also, as I said before, compare it to data collected on a non-VM system.
The issue with VM is that if the PMU is virtualized, then you will only collect data for the guest OS. If the PMU is not virtualized and accessible, then you will collect data for the host OS/hypervisor. Do you see modules for anything other than the guest OS?