VMWare - za dużo rdzeni a throttling


(przemek1234) #1

Witam. Jestem posiadaczem laptop Lenovo Ideapad 520-15IKB z procesorem Intel Core i5-8250U. Używam na nim maszyny wirtualnej VMWare do wirtualizacji zarówno Windowsa w wersjach testowych jak i Linuksów wszelakiej maści. Mam w związku z tym pytanie. Czy przydzielenie zbyt dużej rdzeni maszynie wirtualnej może spowodować throttling procesora? Bo ten procesor jest 4-rdzeniowy i 8-wątkowy i przydzieliłem maszynie wirtualnej 4 rdzenie logiczne. Po dłuższym używaniu maszyny, komputer zaczyna chodzić wolno, zwłaszcza jeśli się na niej robiło coś cięższego, np. wgrywanie jakichś programów, aktualizacji. Czy powodem może być throttling procesora? Przy działaniu wyłącznie na komputerze fizycznym nie ma tego problemu. Czy 4 rdzenie logiczne to za dużo?

EDIT:
Ogólnie zmniejszyłem ilość do 2 i maszyna chodzi jeszcze gorzej.


(MatX_) #2

Ilość przydzielonych rdzeni do maszyny wirtualnej nie ma znaczenia. Liczy się to w jakim stopniu są one wykorzystywane. Jeżeli są intensywnie używane, to przy słabszym chłodzeniu w laptopie może występować spadek wydajności procesora. I to raczej tyczy się każdej aplikacji, nie tylko systemów uruchamianych na maszynie wirtualnej.
Generalnie przy wirtualizacji bardzo duże znaczenie ma ilość pamięci operacyjnej i szybkość dysków.
Procesor w mniejszym stopniu wpływa na widoczne spowolnienie systemu.


(przemek1234) #3

A czy 2 GB RAM to wystarczająca ilość dla wirtualizacji 32-bitowego Windowsa 10? Co do dysku, to mam w laptopie 256 GB dysk SSD na SATA 3. Łącznie w laptopie mam 8 GB RAM.


(D35CART35) #4

Moim zdaniem 2GB to za mało powinieneś dać 4GB.


(przemek1234) #5

Zauważyłem też, że maszyna wirtualna znacznie gorzej działa, gdy komputer pracuje na baterii niż przy zasilaniu z gniazdka. Przy zasilaniu z gniazdka jest to jeszcze znośne. Ale na baterii jest masakra. Nawet na systemie gospodarza, bez wirtualizacji, wydajność jest mniejsza przy zasilaniu z baterii. Czy to normalne?

EDIT:
Ogólnie na 4 GB jest lepiej. Na Ubuntu 18.04 też na 2 GB ledwo działało. Dziwne, że tyle RAM-u jest potrzebne. Ja miałem kiedyś Windowsa Vistę na 512 MB RAM-u i działało. Jakaś masakra. To jest wszak 32-bitowa edycja Windowsa 10, a tu takie coś.


(MatX_) #6

8 GB to mało do wirtualizacji. Zwłaszcza, gdy wirtualizujesz Windows’a 10 i dodatkowo systemem gospodarzem jest Windows. 2 GB dla zwirtualizowanego Windows’a 10 to niewystarczająco, przy takiej wartości system dużo danych zrzuca do swapa zamulając dysk.


(przemek1234) #7

Ale coś mi tu nie gra. To jest 32-bitowy Windows 10. Taki Windows nie wykrywa nawet całych 4 GB, które mu dałem (2 do potęgi 32 to 4 GB, a mam przydzielone 1 GB pamięci graficznej dla VM, więc Windows na VM widzi 3 GB). Więc dziwne, że wszystko co jest w stanie zobaczyć, to 3 GB, a 2 GB za mało by mu było? :neutral_face:


(bachus) #8

Z ciekawości - co uruchamiasz na tym W10? W jakim celu przydzielasz maszynie wirtualnej 1GB dla k.graficznej?


(przemek1234) #9

Ten W10 to są kompilacje Insider Preview. Używam ich w celu zapoznania się z nowościami, które będą wkrótce w Windowsie i testowania poprawności działania używanych przeze mnie programów na nich. Uruchamiam tylko podstawowe programy, nic wymagającego. 1 GB pamięci wideo mam przydzielone z takiego powodu, że VMWare tak ma domyślnie. Obawiam się też, czy przy mniejszej wartości nie lagowało by GUI.

Edit:
Ogólnie na VMWare i VirtualBox strasznie drenowało mi CPU. Nawet do 80%. Ale jak się okazało po wyłączeniu wszelkich animacji i przezroczystości (pod VirtualBox) obciążenie CPU spadło do zaledwie kilkunastu procent. Chyba tak to zostawię. Ewentualnie sobie kompletnie odpuszczę wirtualizację na tym kompie. Bo mam jeszcze stacjonarny.


(DewX) #10

i5-8250U i wszystko jasne… Chwila pracy na maksymalnych obrotach i z 3,40GHz robi się nawet nie 1,60GHz. To dobry procek na coś co trzeba wykonać w 10sekund :wink:

EDIT
Zapomniałem dodać, że w biosie jest opcja poprawiająca wydajność programów do wirtualizacji.


(przemek1234) #11

Ale czy ograniczając liczbę rdzeni dla maszyny wirtualnej można jakoś ograniczyć to zjawisko?


(DewX) #12

Nie, niestety nie. Ten procek szybko sie grzeje, a w Twoim laptopie chłodzenie jest dosyć słabe.


(Dimatheus) #13

Hej,

Może więc warto wyłączyć tryb Turbo, by nie pozwalać na zbytnie grzanie się procesora? http://www.geeks3d.com/20170213/how-to-disable-intel-turbo-boost-technology-on-a-notebook/

Pozdrawiam,
Dimatheus


(przemek1234) #14

To chyba nie jest zbyt dobry pomysł. Ten procesor ma częstotliwość bazową 1.80 GHz, zaś Turbo 3.40 GHz.
A 1.80 GHz to jest naprawdę mało i mogłoby to bardzo obniżyć wydajność na co dzień.

EDIT:
Odpuściłem sobie wirtualizację na tym lapku. Mam jeszcze stacjonarny.


(Dimatheus) #15

Hej,

Faktycznie, nie zauważyłem, że ten procesor ma tak niskie taktowanie bazowe. Ewentualnie zostaje możliwość edytowania maksymalnego mnożnika dla procesora przy pomocy tegoż samego programu. Ale to też może mieć wpływ na wydajność przy standardowym korzystaniu ze sprzętu.

Pozdrawiam,
Dimatheus


(przemek1234) #16

Częściowo problem rozwiązałem. Po redukcji liczby rdzeni dla VM z 4 do 2 szybkość na start co prawda uległa drobnemu pogorszeniu, ale utrzymuje się w dłuższej perspektywie czasu na dość równym poziomie i zjawisko throttlingu jest też w duże mierze ograniczone.