virtual machine - qemu vs qemu-kvm: some performance measurements -
I organized the following benchmark in qemu and qemu-kvm with the following configuration:
CPU: AMD 4400 process dual core with SMV enabled, 2G RAM host OS: OpenSUSE 11.3, with latest patches, running with KDE4 Guest OS: Freudos emulate Memory: 256M network: zero Language: Turbo C 2.0 Benchmark Program: Calculation screen memory from 0000000 to 99 99 99 99 (i.e. 0xb800: xxxx) It takes only 6 seconds, when running in qemu.
But it takes 89 seconds to run in QMU-KVM.
I ran the Benchmark together one by one, not in parallel.
I scratched my head all night, but still do not know why this happens. Can anyone give me some hints? "post-text" itemprop = "text">
KVM uses qm as their device simulator, any device operation is simulated by user space QEMU program when you use 0xB8000 , The graphic display operates in which the guest has to do CPU `vmexit 'from guest mode and return to the KVM module, which in return the user sends the simulation request to the user space QEMU backend.
In contrast, except QEMU w / o normal system call, KVM does all the jobs in the integrated process, there are fewer CPU references switches. Meanwhile, your benchmark code is a simple loop which is only a one time This code is required for code block translation and vmexit and this is nothing compared to kernel-user communication of every frequency in KVM case. This should be the most likely cause.
Comments
Post a Comment