Эндрю Таненбаум, автор Minix, исчерпывающе объяснил в своих работах отличие гипервизоров 1 и 2 типа, однако очень сложно найти в свободном доступе примеры работ, где показано, насколько они отличаются по производительности. Поэтому мы попробуем самостоятельно в лабораторных условиях развернуть гипервизоры 1 и 2 типа и сделать выводы. Приведем для удобства схему: Из этой схемы может сложиться мнение, что у гипервизора 1 типа нету операционной системы вообще, а у гипервизора 2 типа больше уровней абстракции и он медленнее. Поэтому для тестирования возьмем два популярных гипервизора: VmWare (1 тип) и Qemu (2 тип) и тестирование проведем на одном и том же железе. Конфигурация лаборатории: Intel(R) Xeon(R) CPU E3 1260L @ 2.40GHz Samsung 8GiB 2x SODIMM DDR3 Synchronous 1333 MHz (0.8 ns) SSD Kingston A400 960GB SA400S37960GB План тестирования: Установим гипервизоры Развернем виртуальную машину на Ubuntu 22.04 LTS Установим sysbench Запустим sysbench на 2 часа несколько раз чтобы учесть погрешность Сравним показатели для гипервизоров 1 и 2 типа Версии: Как установить sysbench и запустить тесты: Ниже - подробности о том как выглядит вывод тестов и как его можно интерпретировать на примере коротких минутных тестов. В тесте процессора (cpu) нас интересует показатель events per second: В тесте производительности последовательных операций чтения/записи в оперативную память (memory) нас интересует показатель Total operations per second: В тесте на производительность планировщика потоков (threads) нас интересует total number of events разделенный на total time: В mutex тестах нас интересует execution time на фиксированном количестве мьютексов, чтобы тест был подольше - можем увеличивать их количество в параметре mutex-num: Напишем скрипт и запустим его в tmux, оставим гипервизор и виртуальную машину работать на пару дней, периодически проверяя, не закончились ли тесты. Результаты сравнения тестов cpu и memory:  sysbench cpu run sysbench memory run  vmware qemu разница vmware qemu разница тест 1 968.97 994.61 +2.5% 4783.77 4757.06 -0.5% тест 2 973.11 995.48 +2.2% 4783.65 4762.45 -0.4% тест 3 971.62 994.66 +2.3% 4741.35 4762.03 -0.5% тест 4 970.13 994.68 +2.4% 4790.76 4761.68 -0.6%  среднее +2.35% среднее -0.50% Результаты сравнения тестов threads и mutex:  sysbench threads run sysbench mutex run  vmware qemu разница vmware qemu разница тест 1 831.25 884.90 +6.1% 24.6M 24.5M -0.4% тест 2 826.54 948.81 +12.8% 25.4M 25.2M +0.7% тест 3 864.86 911.74 +5.1% 24.5M 24.7M -0.8% тест 4 862.94 925.23 +6.7% 25.1M 24.9M -0.8%  среднее +7.6% среднее -0.3% Интересно, получается, что гипервизор 2 типа Qemu в режиме host-passthrough ничуть не уступил гипервизору 1 типа VMWare.  P.S. Данная статья является исследованием, в котором может быть определенная погрешность от перегрева CPU (поэтому тесты выполнялись "на холодную" с предварительным охлаждением процессора до номинальной температуры чтобы избежать включения троттлинга, а также контролем температуры по sensors на гипервизоре), но проведенные тесты ответили на главный вопрос, и показывают, что OpenSource гипервизоры 2 типа Qemu не особо уступают в производительности гипервизорам 1 типа, при этом, мы не касаемся вопросов сложности их настройки, развертывания, автоматизации и тонкого тюнинга.  лаборант