I realizó el siguiente punto de referencia en qemu y qemu-kvm, con la siguiente configuración:qemu vs qemu-kvm: algunas mediciones de rendimiento
CPU: AMD 4400 process dual core with svm enabled, 2G RAM
Host OS: OpenSUSE 11.3 with latest Patch, running with kde4
Guest OS: FreeDos
Emulated Memory: 256M
Network: Nil
Language: Turbo C 2.0
Benchmark Program: Count from 0000000 to 9999999. Display the counter on the screen
by direct accessing the screen memory (i.e. 0xb800:xxxx)
sólo toma 6 seg cuando se ejecuta en qemu.
Pero lleva 89 segundos cuando se ejecuta en qemu-kvm.
Corrí el punto de referencia uno por uno, no en paralelo.
Me rasqué la cabeza toda la noche, pero todavía no tengo idea de por qué sucede esto. ¿Alguien me daría algunas pistas?
Esto es solo mi pensamiento, el SO invitado es FreeDos. Según la teoría, qemu traduce todas las instrucciones dadas al sistema operativo invitado a una instrucción entendida por el sistema operativo anfitrión utilizando TCG. qemu con kvm, por otro lado, envía instrucciones al sistema operativo host directamente y las ejecuta, por lo que, en teoría, qemu con kvm debe ser más rápido. Pero creo que eso también depende del sistema operativo invitado que se esté utilizando. Es posible que kvm intente enviar las instrucciones directamente al sistema operativo host para que se ejecute, pero no lo está haciendo y está pasando por la ruta TCG como si fuera un comando plan qemu. actualización por favor –