Parkowanie procesorów ESXi i Windows Server

10

Dla tych, którzy nie wiedzą, parkowanie procesora to funkcja w najnowszych wydaniach systemu Windows Server, która pozwala systemowi Windows praktycznie obniżyć rdzeń procesora do zera i nic z niego nie korzystać. Został wprowadzony jako środek oszczędzania energii. Jest więcej szczegółów na ten temat , między innymi tutaj .

Zastanawiam się jednak, czy ta kwestia dotyczy wirtualnego gościa - czy też parkowanie procesora jest bardziej przeszkodą niż pomocą, biorąc pod uwagę, że procesorami fizycznymi zarządza ESXi, a nie Windows, i że zaparkowany procesor ma mniejsze szanse radzić sobie z ruchem, chyba że planista uzna, że ​​jest wystarczająco dużo pracy, aby odparkować procesor?

Nie znalazłem nic na ten temat - podejrzewam, że będzie to w dużej mierze oparte na danym obciążeniu, ale nie widziałem żadnej dyskusji (w przeciwieństwie do, powiedzmy, czy hiperwątkowość ma jakikolwiek efekt, który wydaje się być omawiany regularnie ). Chociaż rozumiem „test przy obciążeniu pracą”, zastanawiałem się, czy są jakieś porady / wytyczne, za którymi tęskniłem.

Chris J
źródło
1
Wątpię, czy VM może powiedzieć rdzeniom fizycznym, aby poszły spać. Jeśli można to zrobić, zrobiłby to niezależny hiperwizor maszyny wirtualnej.
LatinSuD,
Dokładnie - dlatego zadaję pytanie, nie widzę sensu parkowania na maszynie wirtualnej, więc należy parkować wyłączyć?
Chris J,
Jaka wersja ESXi? Jakie jest użycie procesora, zarówno na komputerze dewelopera, o którym wspomniałeś w jednym z komentarzy, jak i na maszynie wirtualnej? Jakie modele procesorów są używane na komputerze dewelopera i na hoście ESXi? Nie wiem, czy te informacje pomogą, ale mogą.
Mario Lenz,

Odpowiedzi:

11

Zdecydowanie spróbuj dopasować maszyny wirtualne do odpowiedniego rozmiaru .

Jeśli masz wystarczająco dużo wolnych procesorów wirtualnych, aby martwić się o „parkowanie procesora”, być może masz zbyt wiele przydzielonych do maszyny wirtualnej.

To nie jest częste żądanie, więc polegam na tradycyjnych narzędziach do zarządzania zasobami, chyba że masz problem z wydajnością.

Edytować:

Ci mają problem wydajności.

  • Upewnij się, że masz zainstalowane narzędzia VMware.
  • Ustaw opcje zasilania VM systemu Windows na wysoką wydajność

wprowadź opis zdjęcia tutaj

ewwhite
źródło
2
Jest to coś, co widzieliśmy na platformie pod dość dużym obciążeniem procesora - wydaje się, że aplikacja wielowątkowa nie wykorzystuje wszystkich procesorów vCPU, a menedżer zasobów oznaczył parę jako „zaparkowaną” (pomimo że jest więcej niż wystarczającej liczby wątków w kolejce do uruchomienia). Po raz pierwszy musieliśmy zastanowić się, czy parking i maszyny wirtualne naprawdę stanowią problem: programista na swojej maszynie (fizyczny) widzi, że ten sam kod używa wszystkich rdzeni (więcej rdzeni niż na maszynie wirtualnej). Drapiemy się trochę po głowie i chcieliśmy tylko zbadać ten konkretny aspekt.
Chris J,
@ChrisJ Zobacz moją edycję powyżej.
ewwhite
Wygląda na to, że to załatwiło sprawę na naszym stanowisku testowym: obciążenie rozkłada się teraz na wszystkie jednostki vCPU (zgodnie z systemem Windows), a zamiast 2 współbieżnych wątków mamy 4 współbieżne wątki. Będziemy dzisiaj biegać na dużej platformie (mam nadzieję), więc to potwierdzimy.
Chris J,
1
Pamiętaj, aby dodać go do zasad grupy serwerów Windows. Dlatego nigdy więcej nie dotykam go ręcznie.
ewwhite
Dobra sugestia - ta.
Chris J
4

To nie miałoby znaczenia. Jeśli chcesz oszczędzać energię, przydziel mniej rdzeni gościowi VM. Windows będzie próbował zarządzać swoimi „wirtualnymi” rdzeniami, ale nie ma kontroli nad hiperwizorem, więc nie wpłynie to na faktyczne fizyczne procesory w systemie.

Nathan C.
źródło
Dla mnie nie jest to problem oszczędzania energii, ponieważ host jest wirtulizowany, więc muszę przyjrzeć się ESXi. Bardziej chodzi o to, czy wpływa / zakłóca sam harmonogram programu hypervisor, ponieważ ostatecznie fizyczny czas procesora jest przez to alokowany, a nie przez harmonogram systemu Windows. Mam wrażenie, że parkowanie powinno być prawdopodobnie wyłączone, więc program planujący systemu Windows nie musi „parkować” procesora, który tak naprawdę nie istnieje, a to może lepiej wykorzystać podstawowe fizyczne procesory, umożliwiając ESX przydzielić czas odpowiednio. Zastanawiałem się tylko, czy moje jelita są prawidłowe :-)
Chris J,
Nie wpłynie to na harmonogram. W ograniczonych warunkach ESXi może „ukraść” nieużywany czas procesora od gości, ale w przeciwnym razie rdzeń pozostanie bezczynny, chyba że inny gość również go używa.
Nathan C
@ChrisJ Nie trzeba wyłączać. Nie próbuj przechytrzyć VMware :)
ewwhite
Nie próbuję przechytrzyć VMWare, próbuję odgadnąć system Windows (ponieważ wydaje się, że nie planuje aplikacji na wszystkich procesorach vCPU) :-) Nie sądziłem, że musimy to robić, głównie z powodu braku informacji na ten temat w Internecie (co oznacza, że ​​większość / wszyscy pozostawiają to w obecnej formie), ale chciałem tylko zbadać ten aspekt.
Chris J,
@ChrisJ Nie sądzę, że ludzie dotykają tego ustawienia bezpośrednio. Zazwyczaj jest to część polityki energetycznej systemu.
ewwhite