Właśnie otrzymałem zaktualizowaną maszynę hosta i zamierzam przekazać niektóre z tych postępów moim systemom operacyjnym gościa. W szczególności miałem jeden procesor z 2 rdzeniami, więc mój system operacyjny gościa miał tylko 1/1.
Teraz mam pojedynczy procesor z 8 rdzeniami, więc jestem ciekawy, co byłoby teraz zalecane dla mojego systemu operacyjnego gościa?
- 1 procesor / 4 rdzenie?
- 2 procesory / 2 rdzenie?
- 4 procesory / 1 rdzeń?
Mój instynkt mówi, by trzymać się liczby procesorów fizycznych (lub mniej), ale czy jest to oparte na rzeczywistości? Sporo szukałem odpowiedzi na to pytanie, ale być może moja karma google nie jest dziś na moją korzyść.
cpu
vmware-workstation
reidLinden
źródło
źródło
Odpowiedzi:
W moich własnych testach z VMWare Workstation, przy użyciu najnowszych GeekBench 3, 64-bitowych testów, na maszynie hosta z 1 jednostką centralną, 2 rdzeniami (przy włączonym HT, więc 4 rdzenie):
System hosta:
Zwirtualizowane:
Tak więc, przynajmniej w moich testach, wygląda na to, że ustawianie wirtualnej liczby rdzeni jest zgodne z fizycznymi. Może się mylę. Chciałbym omówić.
źródło
Nie wiem, czy ta informacja jest nadal aktualna, ale jeszcze nie tak dawno temu dodatkowe procesory gościnne nie skalowały się tak dobrze jak procesory hosta. W rzeczywistości, najlepszą rekomendacją było zatrzymać się z pojedynczych procesorów w swoich konfiguracjach gości, chyba że zostały specjalnie testowania / debugowania wielowątkowe oprogramowanie w swoich gości i wymaga środowiska SMP.
Edycja: Ta odpowiedź dotyczy w szczególności wirtualizacji komputerów stacjonarnych, a nie wirtualizacji serwerów.
źródło
Co najwyżej daję moim rdzeniom OS 2. Nie ma znaczenia, czy wykonasz 1 procesor 2 rdzenie lub 2 procesory 1 rdzeń każdy. Ustawienie procesora ma na celu zapewnienie kompatybilności. Procesor / rdzenie nie skalują się tak dobrze w systemie operacyjnym gościa ze względu na harmonogram procesów rdzenia / procesora. 2 rdzenie wydają się być najsłodszym miejscem.
źródło
W tym momencie jest niewielka różnica. W niektórych przypadkach licencjonowanie oprogramowania może zależeć od rdzeni lub procesorów.
Jest to tylko punkt odniesienia, który wykorzystuje wszystkie rdzenie. Większość aplikacji nie skaluje wydajności liniowo z liczbą rdzeni, ponieważ po prostu nie używają dodatkowych rdzeni.
Istnieje również pewien poziom narzutu związany z dodawaniem większej liczby rdzeni. Krótko mówiąc, dodaj tylko liczbę rdzeni, które Twoja aplikacja musi wykonać na wymaganych poziomach. To, że masz 4 rdzenie w hoście, nie oznacza, że każda maszyna wirtualna powinna otrzymać 4 rdzenie.
W wielu środowiskach, którymi zarządzam, mamy dwa 10-rdzeniowe procesory z łącznie 40 logicznymi wątkami, a moje kontrolery domeny nadal mają tylko dwa rdzenie.
źródło
Jestem zszokowany, że na te często zadawane pytania nie ma jeszcze pełnej odpowiedzi. Procesor hosta powinien obsługiwać niektóre technologie wirtualizacji, np. Intel VTx. To pozwala „tunelować” całą moc procesora do systemu operacyjnego gościa. W przeciwnym razie nastąpi ogromny spadek prędkości z powodu emulacji procesora. Jeśli masz procesor z hyperthreadingiem, powinieneś zobaczyć 8 procesorów czterordzeniowego procesora w menedżerze urządzeń na twoim hoście (hyperthreading podwaja liczbę rdzeni). W takim przypadku możesz przypisać 1 procesor z 4 rdzeniami dla swojego systemu operacyjnego. Dopóki nie masz żadnego innego procesora fizycznego w systemie, nie przypisuj więcej niż 1 procesorowi do maszyny wirtualnej. W zależności od potrzeb możesz przypisać więcej lub mniej rdzeni do swojego systemu operacyjnego, ale nie powinieneś przypisać wartość wyższą niż rdzenie hiperwątkowości. Pamiętaj jednak, że twój host potrzebuje również trochę mocy procesora. Zwykle ustawiam połowę moich rdzeni hipertekstowych i połowę mojej pamięci, np. 8192 MB, kiedy masz 16 gigabajtów pamięci RAM. Zazwyczaj jest to dobre ustawienie, ale nie, jeśli chcesz uruchomić więcej niż jedną maszynę wirtualną na raz.
źródło