Чем QEMU отличается от «реального» процессора и что быстрее?
На хостинге VPS в новых тарифах вместо "реального" процессора отображается QEMU:
# cat /proc/cpuinfo
Тариф 1: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz
Тариф 2: QEMU Virtual CPU version 2.5+
В обоих случаях - KVM.
Почему во втором случае процессор отображается как QEMU? В разных источниках нашёл упоминание, что это - эмуляция процессора и что это работает намного медленее. Это так?
В других источниках, что QEMU и KVM по-сути одно и то же. Но тогда странно, почему в первом случае я вижу название реального процессора, а не "Virtual CPU"
В kvm/libvirt можно по разному пробрасывать процессор, ограничивая или нет его функциональность. На производительности, если это и сказывается, то обычно не очень сильно. Но всегда хорошо бы уточнять, что конкретно прокинуто, используя для диагностики в том же выводе флаги процессора. Ну и собственные тесты производительности никто не отменял!
QEMU может как программно эмулировать процессор (в т.ч. не той архитектуры, где это делается), так и запускать программы на реальном процессоре. Остальные менеджеры вирт.машин типа WMWare и VirtualBox - только второй вариант.
Что понимает хостер под своими словами - знает только он сам.
Ну, трансляция тоже весьма затратна - поскольку обычно одна команда транслируется в несколько. А есть вещи, которые невозможно корректно транслировать - например, использование кода в роли данных; или самомодифицирующийся код.
И я не понял фразу "не только для процессора, но и для железа".