64-bitowy lub 32-bitowy gość dla hosta 64-bitowego? (VMware)

10

Oto moje pytanie dotyczące wszechczasów. Nigdy nie widziałem całkowitej odpowiedzi na to pytanie, więc proszę, pomóżcie mi.

Mam procesor Intel Core i7 z każdym włączonym sprzętem (oprócz hiperwątkowości).
Mój system operacyjny to Win 7 x64 Professional, SP1, legit.

Mam zainstalowany VMWare (7.1.4 atm).

Z którego gościa powinienem korzystać? 64-bitowy czy 32-bitowy?
Po prostu nie wiem. Który jest lepszy?

(Pamięć nie stanowi problemu, mam 10 gig w komputerze. Chcę wiedzieć, który jest lepszy pod względem wydajności gościa.)

Apacz
źródło
Uruchomiłem oba i nigdy nie wydaje się zauważać żadnej znaczącej różnicy wydajności, myślę, że jeśli chcesz dać vm więcej niż 4 gig, wtedy 64-bitowy może być szybszy. Jednak nigdy nie potrzebowałem vm z więcej niż 4 gigabajtami pamięci RAM, która nie jest na hiper wizjerze z czystym metalem.
Supercereal

Odpowiedzi:

7

W grę wchodzą dwa czynniki. W porządku:

Emulacja procesora
Możliwe, że niedopasowanie między hostem a gościem zmusi maszynę wirtualną do korzystania z trybu emulacji procesora. Nie oczekuję, że tak się stanie, ale w zależności od hiperwizora, systemu operacyjnego i architektury jest to możliwe. Chcesz tego uniknąć za wszelką cenę. Inną częścią tego, że chcesz, aby hiperwizor maszyny wirtualnej był również zgodny z systemem hosta. Więc jeśli masz 64-bitowy system Windows, poszukaj 64-bitowej wersji VirtualBox, VMWare itp. Gdy masz pewność, że nie jest to problem, sprowadza się to do następnego czynnika:

RAM
Jeśli na ogół będziesz dawał swoim gościom mniej niż 4 GB pamięci RAM, to na razie trzymaj się 32 bitów. Istnieją również inne zmiany w przejściu na x64, ale w większości przypadków nie pomogą twoim maszynom wirtualnym tak bardzo, jak pamięć RAM zaoszczędzona z mniejszego rozmiaru wskaźnika / słowa, ponieważ maszyny wirtualne mają więcej problemów z We / Wy i potrzebują pamięci RAM więcej, aby zaoszczędzić na częstym chodzeniu na dysk. Nie zapomnij pozwolić na rozwój tutaj. Nie chcesz odbudowywać maszyny wirtualnej od zera. Na przykład prawdopodobnie skonfigurowałbym maszynę wirtualną działającą jako serwer bazy danych jako 64-bitowy, nawet jeśli teraz ma ona tylko 2 GB pamięci RAM. Zrobiłbym to samo dla obrazu testowego Windows 7. Ale gdybym miał maszynę, która istnieje do testowania strony internetowej pod IE7 na Windows XP, zostawiłbym to na 32bit.

Na koniec wspominasz, że masz wyłączony hyperthreading. Prawdopodobnie chcesz tego, jeśli będziesz wykonywać dużo pracy VM. Czasami chcesz to wyłączyć, ponieważ daje więcej pamięci podręcznej na rdzeń. Większość ludzi z czterordzeniowymi procesorami nie używa często wszystkich rdzeni, a dodatkowy rdzeń zapewniany przez hyperthreading po prostu nie jest tak potężny z powodu problemów z konfliktem w potoku, w którym dwie instrukcje działające w tej samej fizyce mogą być powiązane w jakiś sposób. Zatem zysk z większych rozmiarów pamięci podręcznej na kilku rdzeniach może czasami przewyższać zysk z dodatkowych słabych rdzeni. Maszyny wirtualne mogą jednak korzystać z tych fałszywych dodatkowych rdzeni i mieć pewność, że rurociągi są dość czyste z kilkoma problemami, które zwykle powstrzymują tę funkcję.

Joel Coehoorn
źródło
2

Sugeruję używanie 64-bitowych gości tylko z jednego powodu: działają doskonale z więcej niż 4 GB pamięci RAM. Obecnie 4G to niewiele, a nawet jeśli nie potrzebujesz go w tej chwili, po pewnym czasie może być wymagane posiadanie> 4G RAM dla gościa.

W takim przypadku będziesz musiał wykonać pełną ponowną instalację 32-bitowego gościa, podczas gdy w 64-bitowym będziesz musiał tylko zmienić ustawienia VM.

RVS
źródło
1
4 GB to więcej niż wystarcza dla większości ludzi ... więc powiedzenie, że to niewiele, jest po prostu głupie: P
Riguez
2
Powiedz to mojemu jbossowi + activemq + terakocie :)
rvs
1
Prawdopodobnie możesz podzielić JBOS + ACTIVEMQ i TERACOTTA na osobne maszyny wirtualne.
Archimedes Trajano,