VirtualBox задать частоту процессора для Виртуальной машины

2015, 20 сентября

Задать тактовую частоту на прямую для ВМ в virtualbox нельзя, но есть параметр cpuexecutioncap, который задает ограничение на использование времени ЦП, что это даст, если скажем у нас процессор 3000 Mhz , а мы хотим сделать 4 виртуальные машины:

2 частотой примерно 1 Ghz

1 частотой 400 Mhz

1 частотой 600 Mhz
То для этого нужно будет указать для уже созданных виртуальных машин:

VBoxManage modifyvm VM1 —cpuexecutioncap 33
33% от общего времени цп гипервизора для виртуальной машины VM1

VBoxManage modifyvm VM2 —cpuexecutioncap 33

VBoxManage modifyvm VM3 —cpuexecutioncap 14

VBoxManage modifyvm VM4 —cpuexecutioncap 20 На самом деле это нам не даст реальных частот, которые нам нужны и процессор ВМ все равно будет равен частоте реального процессора, но загрузка данного процесса будет не выше 33% для VM1, что в принципе будет равно той частоте в 1Ghz, которую мы хотим получить(хотя конечно сравнение не корректно). Что бы проверить все это можно скачать и поставить на нашу VM unixbench
И так для начала ставим тест, можно скачать последнею версию отсюда:
http://code.google.com/p/byte-unixbench/ ставим:

wget http://members.dslextreme.com/users/andylee/unixbench-4.1.0-wht.tar.gz
gunzip -dvc unixbench-4.1.0-wht.tar.gz | tar xvf -
cd unixbench-4.1.0-wht
make
./Run

И так первый тест на 100% Dhrystone 2 using register variables 104.8
Double-Precision Whetstone 79.0
Execl Throughput 4.5
File Copy 1024 bufsize 2000 maxblocks 203.1
File Copy 256 bufsize 500 maxblocks 158.5
File Read 4096 bufsize 8000 maxblocks 202.1
Pipe-based Context Switching 1.9
Pipe Throughput 28.6
Process Creation 3.5
Shell Scripts (8 concurrent) 6.2
System Call Overhead 43.1 FINAL SCORE 29.1 Теперь та же ВМ, но уже с ограничением в 50% Dhrystone 2 using register variables 47.8
Double-Precision Whetstone 40.7
Execl Throughput 2.2
File Copy 1024 bufsize 2000 maxblocks * 98.7*
File Copy 256 bufsize 500 maxblocks 75.8
File Read 4096 bufsize 8000 maxblocks 102.4
Pipe-based Context Switching * 1.1*
Pipe Throughput 13.7
Process Creation 1.7
Shell Scripts (8 concurrent) 3.1
System Call Overhead 20.1 FINAL SCORE 14.3 А вот например та же ВМ, но уже ограничение 45% Dhrystone 2 using register variables 36.6
Double-Precision Whetstone 31.7
Execl Throughput * 1.6*
File Copy 1024 bufsize 2000 maxblocks * 79.5*
File Copy 256 bufsize 500 maxblocks 60.8
File Read 4096 bufsize 8000 maxblocks * 82.7*
Pipe-based Context Switching 0.8
Pipe Throughput * 12.0*
Process Creation 1.3
Shell Scripts (8 concurrent) 2.2
System Call Overhead * 13.1* FINAL SCORE 11.0 А это уже скрин top’a с гипервизора, тут запущено 2 машины 1 с ограничением в 45% , на ней в данный момент работает наш тест и ее загрузка 43,7%
Ограничение А тут уже ограничение в 80% на эту ВМ
Ограничение Как видите из тестов можно например предоставить 1 сервер нескольким компаниям и использовать для виртуализации VirtualBox. Так же интересно различие на операциях с плавающий точкой на железе оно у меня составило
Double-Precision Whetstone 82.5
А на виртуалке
Double-Precision Whetstone 79.0
Т.е. потери при полной виртуализации потери были около 4% от железа.