Jak mogę poprawić wydajność mojego gościa VirtualBox?

38

Prowadzę gościa ubuntu 12.04 na hoście Ubuntu 12.04, z VirtualBox, a gość jest znacznie, znacznie wolniejszy niż host ( ALT+TABzajmuje 4-5 sekund). Rozejrzałem się i znalazłem sprzeczne opinie na temat VirtualBox kontra VMware (bezpłatny); więc pomyślałem, żeby zatrzymać to pierwsze.

Oba systemy zostały zaktualizowane, zainstalowałem dodatki na gościu i równomiernie podzieliłem pamięć i pamięć wideo (64 MB) między gościa i hosta. Korzystam z laptopa Toshiba m200 z ramą 4 GB i wspólną pamięcią wideo. Bios hosta nie zawiera opcji konfiguracji do wirtualizacji maszyn. Mam 2 procesory i nie mogę ich obu przekazać maszynie wirtualnej.

Czy przeoczyłem coś, co mogłoby rozwiązać mój problem?

Poproś o więcej informacji i dziękuję za pomoc.

EDYCJA Praca na biegu jałowym przy otwartym monitorze systemowym (pojedynczy) procesor gościa nigdy nie spada poniżej 55% i może wzrosnąć do 80 - 90% po prostu przesuwając mysz. Otwarcie Firefoksa spowoduje, że monitor systemu pokaże użycie procesora na 100% u gościa, podczas gdy host pokaże, że oba procesory działają równomiernie na około 60%.

Mój procesor to Intel® Core™2 Duo CPU T5450 @ 1.66GHz × 2.

Jeśli nie jest to problem z konfiguracją, czy oznacza to, że moja maszyna jest zbyt słaba do wirtualizacji?

ekologiczny
źródło
nawet instalowanie unity2d (co pomogło) i próbowanie innej konfiguracji vm jest wciąż zbyt wolny jak na mój gust, więc porzuciłem ten pomysł
ecoologic
Myślę, że odpowiedź JohnP jest tutaj najbardziej odpowiednia.
Léo Léopold Hertz 준영

Odpowiedzi:

29

Nie wiem dużo o Player, ale domyślne ustawienia Vbox nie są dobre dla wersji Ubuntu, które wolą prawdziwy GPU.

  • Na wirujących dyskach twardych wstępnie przydziel cały dysk wirtualny. Na dyskach SSD nie ma to znaczenia. Nieliczne przydziały VDI / qcow2 zmniejszają wydajność, ale związane z tym redukcje wydają się niższe niż 10% od 2015 r. Porównać wydajność z wygodą.
  • Przydziel tylko potrzebne miejsce. Przechowuj duże pliki w innym miejscu, poza vStorage.
  • Nigdy nie przydzielaj więcej procesorów lub pamięci RAM niż powinieneś. Prawdopodobnie 1 vCPU.
  • Pozostaw 1 GB pamięci RAM dla systemu HostOS. Nie przepełniaj pamięci RAM.
  • Użyj sterowników VirtIO do przechowywania i sieci. Wspierają go nowi goście Linuxa. W przypadku gości systemu Windows użyj sterowników SATA (pamięć masowa) i Intel PRO / 1000 (sieć). Możliwe jest użycie sterowników virtio pod Windows, jest to tylko trochę trudniejsze.
  • Włącz ACPI i AHCI dla wszystkich gości od 2003 roku, WinXP i późniejszych.
  • Maszyny wirtualne dla komputerów stacjonarnych powinny uzyskać wszystkie 128 MB wyświetlanej pamięci vRAM
  • Maszyny wirtualne serwera powinny pozostać z 9 MB pamięci vRAM; nie marnuj tego.
  • Unikaj ustawień przyspieszania 2D i 3D, dopóki wszystko inne nie będzie działało tak, jak lubisz. Jestem poważny. Ubuntu robi złe rzeczy, gdy jest to włączone. Może sprowadzić Core i7 na ziemię.

Aby uzyskać więcej informacji: http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox

JohnP
źródło
1
jak wstępnie przydzielić cały dysk wirtualny?
Toskan
5
„Używaj sterowników VirtIO do przechowywania” - chyba że coś oczywistego mi brakuje, VirtualBox nie implementuje parawirtualizowanej pamięci. Jeśli tak, powiedz mi gdzie, bo chciałbym go użyć.
cdhowie
Przydziel tylko potrzebne miejsce . Nie zgadzam się z tym. Możesz ustawić dysk do 50 GB dynamicznie. Będziesz miał problemy ze stabilnością, jeśli przede wszystkim przeznaczysz za mało miejsca. Dynamicznie rozszerzalna przestrzeń nie zajmuje maksimum przez cały czas, ale tylko tyle, ile potrzebuje.
Léo Léopold Hertz 준영
Jedynym sposobem, w jaki wiem, aby wstępnie przydzielić dysk, jest użycie narzędzia vboxmanage i skopiowanie starego pliku VDI do nowego w pełni przydzielonego pliku VDI.
JohnP
Zobaczyłem, że vbox zawiera ostatnio sterowniki virtio.
JohnP,
7

Wirtualny gość z tak małą ilością zasobów będzie działał powoli. Aby uzyskać najlepszą wydajność, faktycznie dajesz hostowi nieco więcej zasobów niż gość. Ponadto nie będziesz w stanie podać obu procesorów swojej maszynie wirtualnej, ponieważ maszyna hosta potrzebuje czegoś do uruchomienia wszystkiego.

Pomyśl o tym w ten sposób. Twoja maszyna hosta musi uruchomić własny system plus kontener dla gościa. Gość wchodzi w walkę o zasoby z maszyną hosta. Spróbuj dać gościowi mniej i zobacz, jak to działa.

Aby uzyskać najlepszą wydajność, potrzebujesz 64-bitowej maszyny z więcej niż 4 GB pamięci.

Nate
źródło
Właściwie wypróbowałem kilka konfiguracji przed zapytaniem społeczności, RAM nie powinien być problemem na tym etapie (większość z nich jest nieużywana), z twojej odpowiedzi otrzymuję, że problem powinien polegać głównie na procesorze (często na 100%), Nauczyłem, że mój laptop jest wystarczająco mocny, może tu się mylę ...
ecoologic
Pomysłem może być obserwowanie zużycia zasobów zarówno na hoście, jak i gościu i sprawdzanie, gdzie to się wyczerpuje. Jaki masz procesor?
Nate
nie jest to najszybsza maszyna, jaką kiedykolwiek zobaczysz, ale nigdy mnie nie zawiodła (odpowiedź zaktualizowana).
ecoologic
Tak, powiedziałbym, że twoja maszyna nie jest wystarczająca do szybkiej wirtualizacji. Oczywiście masz go uruchomionego, więc to zależy od ciebie, jeśli chcesz żyć z prędkością.
Nate
2
@ecoologic: Unity2D działa znacznie szybciej - próbowałeś?
Takkat
4

Oprócz poprzednich odpowiedzi na optymalne ustawienia VirtualBox, na blogu Nam Huy znajduje się świetny post na blogu, w jaki sposób uzyskać akcelerację 3D dla gościa Ubuntu. Jest to szczególnie przydatne w Ubuntu 13.04, ponieważ nie ma już opcji instalacji Unity 2D, pozostawiając świeżą instalację bez żadnego rzeczywistego obciążenia na 80-100% obciążenia procesora z powodu renderowania oprogramowania, co czyni mnie praktycznie bezużytecznym.

Podstawowym pomysłem jest instalacja dodatków gości, załadowanie „vboxvideo” do etc/modules, ponowne uruchomienie, a następnie aktywacja akceleracji 3D w ustawieniach wyświetlania VirtualBox. Pamiętaj, że włączenie akceleracji 3D musi być ostatnim krokiem po skonfigurowaniu wszystkiego innego w gościu.

Dla mnie przyniosło to znaczny wzrost wydajności, w trybie pełnoekranowym nie mogę nawet odróżnić mojego natywnego systemu operacyjnego od gościa Ubuntu.

pederpansen
źródło
Dla tych, którzy również dostają „Błąd połączenia z bazą danych”, dostępna jest wersja buforowana z urządzenia Way Back: web.archive.org/web/20160320085343/https://namhuy.net/951/…
Pavel
4

Doświadczyłem tego samego problemu

Host: Ubuntu 14.10 (64-bit), Gość: Windows 7 (64-bit)

Nawet przy włączonej wirtualizacji w BIOS-ie hosta obciążenie procesora było stale około 40-50% w stanie bezczynności gościa

Pomogło mi zainstalowanie dodatku gościa z obsługą Direct 3D (musisz to zrobić w trybie awaryjnym) i włączenie pamięci podręcznej we / wy hosta kontrolera SATA

Więc moje obecne ustawienia to:

System

Pamięć podstawowa: 4096 Mb (8192 Mb całkowitej pamięci hosta)

Procesor: 6 procesorów (hosta 6 procesorów)

PAE / NX: Włączone

VT-x / AMD-V: Włączone

Zagnieżdżone stronicowanie: włączone

Pokaz

Pamięć wideo: 128 Mb

Przyspieszenie 3D: włączone

Przyspieszenie 2D: włączone

Działa jak marzenie! Wersja Virtual Box: 4.3.18_Ubuntu r96516

Timofey Bondarenko
źródło
0

Chociaż początkowa odpowiedź jest bardzo szczegółowa, uważam, że odpowiedź od razu jest szczera, że ​​system / laptop jest zbyt wolny i słabo zasilany, niewiele można zrobić, chyba że występuje problem z konfiguracją lub błąd w wersji Virtualbox. Możesz spróbować zoptymalizować, ale pamięć RAM hosta i 2 rdzenie procesora o częstotliwości 1,66 GHz po prostu nie zamierzają go wyciąć. Przy takim wykorzystaniu procesora jest bardzo prawdopodobne z powodu zamiany i braku wystarczającej ilości pamięci RAM.

Krótko mówiąc, możesz wypróbować inny menedżer okien, który jest bardziej lekki, a także rozważyć wypróbowanie innych systemów operacyjnych, aby sprawdzić, czy może być problem z konfiguracją Virtualbox i zaktualizować go do najnowszej wersji.

Areeb Soo Yasir
źródło