标签为 "虚拟机" 的存档

为什么8核宿主机可以开出8核以上的虚拟机?

qemu代码内用Coroutine协程将vm内的一个核模拟为host上的一个线程,
以达到vm的cpu核与host的cpu核的相关性绑定。
也就是vm内的os把host上一个线程(即一个vm cpu核)获得的执行时间再分成若干时间片,然后分给vm内的线程按os调度策略执行。
一个qemu进程当然可以有多于宿主机cpu核数的线程,所以vm内的cpu核数也当然可以比host多,但是这时vm的某些核并不能并行执行,也就没什么意义了。