Tam, gdzie pracuję, pracujemy na stosunkowo mocnych komputerach PC z dystrybucją Debian Linux. Jednak w przypadku niektórych programów, które musimy zainstalować, lepiej byłoby mieć CentOS i byłyby to nasze główne narzędzia pracy. Zmiana systemu operacyjnego dla wszystkich komputerów w naszym miejscu pracy jest możliwa, ale staramy się zdecydować, czy korzystanie z VirtualBox jest lepszym wyborem dla uproszczenia.
Wszystko zależy od następującego punktu. Programy, które musimy uruchomić, to symulatory, które są bardzo wymagające dla procesora i mogą z łatwością działać do godziny lub więcej przy każdym uruchomieniu symulacji. Musimy zdecydować, czy spadek wydajności podczas korzystania z Virtual Box jest wystarczająco duży, aby zasłużyć na naszą zmianę systemu operacyjnego.
Moje pytanie brzmi więc, czy ktokolwiek może mi zweryfikować, jaka jest wydajność związana z uruchomieniem zadania intensywnie wykorzystującego procesor w wirtualnym pudełku w porównaniu z uruchomieniem go na macierzystym komputerze?
Dzięki.
źródło
Nie ma jednej dobrej odpowiedzi na to pytanie. Wiele zależy od tego, jak korzystasz z maszyny wirtualnej i od jakich programów.
Np. Użycie VMWare (hiperwizora typu 2) i programu wyłącznie związanego z procesorem zapewniło prawie pełną szybkość procesora. Gdybym użył tego samego hiperwizora i programu z dużą liczbą wywołań systemowych, dostałbym poważne spowolnienie.
A rzeczy zmieniają się również, gdy używasz systemu operacyjnego hypervisor typu 1 (bez gościa). Nawet między tymi masz wiele odmian. Np. Xen z 5 (IIRC z ostatnich weekendów FOSDEM mówi o Xen) trybów, które obsługuje. Od HW za pomocą do wirtualizacji.
Podsumowując: zgodnie z prośbą może różnić się od niemal żadnego spowolnienia do poważnie wolniejszego.
Teraz, gdy skupię się na VirtualBox, jest to hypervisor typu 2. Programy wyłącznie związane z procesorem powinny być w porządku.
źródło
W rzeczywistości wygląda na to, że Docker może być jeszcze lepszą opcją dla tego, co robisz. Docker zapewnia pojemniki, które są izolowanymi obszarami izolowanymi działającymi na tym samym jądrze. Narzut wywołania systemowego / We / Wy wynosi zero, ponieważ procesy w kontenerze nie różnią się od procesów na hoście.
Ponieważ już korzystasz z systemu Linux, Docker byłby świetnym sposobem na zapewnienie środowiska CentOS bez konieczności ponownej instalacji wszystkich komputerów.
Sprawdź także moje narzędzie Scuba, które ułatwia uruchamianie takich rzeczy, jak kompilacje w kontenerze Docker. Zamiast biegać
make
, uciekłbyśscuba make
. To wszystko!źródło