Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2021-09-10 14:53:27

  Macieks - Użytkownik

Macieks
Użytkownik
Zarejestrowany: 2010-06-03

Ile vCPU mogę przydzielić?

Cześć,

mam takie pytanie dotyczące vCPU.

Mam komputer z procesorem E-2234 czyli 4 rdzenie i 8 wątków plus 64GB RAM DDR4.

Czytałem różne artykuły na temat przydzielania vCPU i się już gubię.

Czy dobrze rozumiem, że mogę stworzyć np. 4 VM z 4 vCPU? Wtedy wyjdzie 16vCPU.
Te wirtualne maszyny nie będą miały dużego obciążenia. Maksymalnie około 20-30%.

Czy dobrze to rozumiem czy inaczej to powinienem zrobić?

Offline

 

#2  2021-09-10 15:05:09

  fnmirk - Redaktor

fnmirk
Redaktor
Zarejestrowany: 2008-02-19

Offline

 

#3  2021-09-10 15:30:23

  Macieks - Użytkownik

Macieks
Użytkownik
Zarejestrowany: 2010-06-03

Re: Ile vCPU mogę przydzielić?

Według tego artykułu mogę utworzyć 32vCPU.

Nawet tyle nie potrzebuje. Czyli mogę zrobić to co chciałem :)

Dzięki!

Offline

 

#4  2021-09-11 00:05:38

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Ile vCPU mogę przydzielić?

Polemizowałbym. xD

Jak masz 4 fizyczne CPU, to w zasadzie te 4 dodatkowe wątki związane z HT można pominąć bo to nie jest 1:1. W sporej części przypadków boost wydajności jest jedynie na poziomie 20-30%. A jeśli masz procesy, które lubią się przytulać do CPU, to masz 0%, bo procek może wykonywać tylko jedno zadanie i bez znaczenia ile wątków na nim sobie uruchomisz. xD Dlatego procki z HT maja tylko dwa wątki, mimo, że bez problemu można by uruchomić tam i 500+. Im szybszy jest procek, tym większe rozbieżności mogą powstać przy operacjach związanych z pozyskiwaniem danych z pamięci RAM, co potencjalnie może skutkować sytuacją, w której procek nic nie robi (bo oczekuje na dane z pamięci) i dopiero wtedy znajduje zastosowanie technologia HT, która ten moment bezczynności procka jest w stanie wykorzystać przechodząc do wykonania innego procesu. Na obciążonych systemach takich momentów będzie bardzo niewiele i dlatego HT na nich bardzo mocno ssie. xD

Na maszyny wirtualne powinno się przeznaczać fizyczne CPU, czyli w twoim przypadku max 4 maszyny, żeby jako tako działały, no i też musisz brać poprawkę na wykonywanie na tych CPU systemu hosta. Więc realnie to 2 max 3 maszyny bym stworzył na twoim miejscu.

Do tego przydałoby się przypisać każdą maszynę wirtualną na konkretny rdzeń, by uniknąć przerzucania zadań między CPU, czyli najpierw fizyczny CPU1 się zajmuje wykonaniem danej maszyny wirtualnej, a po chwili CPU2, etc. Takie zachowanie jest bardzo niepożądane, bo zwykle cache CPU się w takich sytuacjach traci, a jak wiadomo cache CPU to zasób, o który trzeba się bardzo troszczyć jeśli nie ma zamiaru się powrócić do epoki średniowiecza w kontekście mocy obliczeniowej. xD

W tym podlinkowanym artykule, goście mówią o wyliczaniu vCPU ze wzoru (Threads x Cores) x Physical CPU = Number vCPU. Ja bym tego nie robił, no może na malutkich maszynkach jedynie z trybem tekstowym i z niewielką ilością procesów wewnątrz takiej maszyny. Ale jeśli ktoś planuje mieć pełny OS pokroju windowsa czy ubuntu na takiej maszynie i wiele takich maszyn działających równolegle, to CPU szlag trafi przy takiej konfiguracji i zamiast poprawy wydajności maszyn wirtualnych będzie wręcz odwrotnie. xD

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)