Jest tu o wiele więcej niż tylko ESXi,
- Każda maszyna wirtualna zużyje do 4 GB + „narzut”, co jest udokumentowane tutaj . Zależy to od vCPU, + przydzielonej pamięci. Każda maszyna wirtualna zużyje co najmniej 4261,98 MB (4096 + 165,98)
- Narzut własny pamięci ESXi, to zależy od sprzętu. Najłatwiejszą opcją jest sprawdzenie użycia pamięci systemowej w kliencie vSphere. Z pamięci pamiętam, że jest to około 1,3 GB, ale jak wspomniano, jest to bardzo zależne od sprzętu.
Wyjaśnienie alokacji pamięci i nadmiernego zaangażowania
Pamiętaj, że hiperwizor nie przydzieli całej pamięci z góry , zależy to od użycia maszyny wirtualnej. Warto jednak zrozumieć, co się stanie, jeśli maszyny wirtualne spróbują przydzielić i wykorzystać całą przydzieloną im pamięć.
Maksymalna liczba hostów VM +, które będzie próbował użyć, wyniesie około, pojemność 55 GB może się różnić
- 1,3 GB używane przez ESXi
- 4261,98 MB * 13 używane przez maszyny wirtualne
Należy wziąć pod uwagę inny aspekt, a mianowicie progi pamięci. Domyślnie VMware dąży do uzyskania 6% wolnej pamięci (wysoki próg pamięci). Dlatego 55 GB używanej pamięci należy zmniejszyć do ~ 45 GB
Oznacza to, że host będzie miał około 10 500 MB pamięci, którą musi skądś odzyskać, gdyby maszyny wirtualne wykorzystały przydzieloną pamięć. Istnieją trzy rzeczy, które robi ESX, aby znaleźć dodatkowe 10,5 GB.
Metody odzyskiwania pamięci
- Przejrzyste udostępnianie stron
- Balonowanie pamięci
- Zamiana hiperwizora
Powinieneś przeczytać i zrozumieć Zrozumienie zarządzania zasobami pamięci na serwerze VMware® ESX ™ Server .
W zależności od dużej liczby czynników połączenie wszystkich trzech może / może się zdarzyć na nadmiernie zaangażowanym hoście. Musisz przetestować swoje środowisko i monitorować te wskaźniki, aby zrozumieć wpływ nadmiernego zaangażowania.
Niektóre szorstkie zasady, które warto znać (wszystko w powyższym artykule i innych źródłach).
- Przejrzyste udostępnianie stron nie występuje w przypadku maszyn wirtualnych korzystających ze stron 2/4 MB. Po przydzieleniu 4096 MB maszynom wirtualnym z systemem Windows będą one domyślnie używać stron 2/4 MB (zależne od PAE). Tylko pod presją pamięci VMware rozbije duże strony do 4 KB stron, które można udostępnić. TPS polega na używaniu bezczynnych cykli procesora i skanowaniu stron pamięci z określoną częstotliwością. Zwraca pamięć stosunkowo powoli (raczej godzinę niż minuty). Burza rozruchowa oznacza, że TPS ci nie pomoże. Spośród tych trzech ma to najniższy wpływ na wydajność. Więcej z dokumentu,
W systemach wspomaganej sprzętowo wirtualizacji pamięci (na przykład Intel EPT Hardware Assist i AMD RVI Hardware Assist [6]) ESX automatycznie utworzy kopię zapasową fizycznych stron gości z dużymi fizycznymi stronami hosta (2 MB ciągłego obszaru pamięci zamiast 4KB dla zwykłych stron) dla lepsza wydajność dzięki mniejszej liczbie braków TLB. W takich systemach ESX nie będzie współużytkować tych dużych stron, ponieważ: 1) prawdopodobieństwo znalezienia dwóch dużych stron o identycznej zawartości jest niskie, oraz 2) narzut związany z porównywaniem bitów po stronie 2 MB jest znacznie większy niż dla strony 4KB. Jednak ESX nadal generuje skróty dla stron 4KB na każdej dużej stronie. Ponieważ ESX nie będzie zamieniał dużych stron, podczas zamiany hosta, duża strona zostanie podzielona na małe strony, dzięki czemu te wstępnie wygenerowane wartości skrótów mogą zostać użyte do udostępnienia małych stron przed ich zamianą. Krótko mówiąc, nie możemy zaobserwować współdzielenia strony dla systemów wirtualizacji pamięci wspieranych sprzętowo, dopóki pamięć hosta nie zostanie nadmiernie zaangażowana.
Balonowanie rozpoczyna się w następnej kolejności (progi są konfigurowalne, domyślnie dzieje się tak, gdy host ma mniej niż 6% wolnej pamięci (między wysokim a oprogramowaniem). Zainstaluj sterownik i uważaj na aplikacje Java i ogólnie zarządzane . System operacyjny nie ma wglądu w to, co zrobi moduł wyrzucania elementów bezużytecznych, i ostatecznie trafi na strony zamienione na dysk. Często zdarza się, że serwery, na których działają wyłącznie aplikacje Java, wyłączają całkowicie zamianę, aby zagwarantować, że tak się nie stanie. Zajrzyj na stronę 17 vSphere Memory Management, SPECjbb
Zamiana hiperwizora , z trzech metod, jest jedyną, która gwarantuje hiperwizorowi dostęp do „pamięci” w określonym czasie. Będzie to wykorzystane, jeśli 1 i 2 nie dają wystarczającej ilości pamięci, aby pozostać poniżej twardego progu (domyślnie 2% wolnej pamięci). Po przeczytaniu wskaźników wydajności (zrób swoje) zdasz sobie sprawę, że jest to najgorsza z tych trzech metod. Staraj się tego unikać za wszelką cenę, ponieważ wpływ na wydajność będzie bardzo zauważalny w prawie wszystkich zastosowaniach dwucyfrowych wartości procentowych
Jest jeszcze jeden stan, o którym należy pamiętać jako niski (domyślnie 1%). Z instrukcji może to drastycznie obniżyć wydajność,
W rzadkim przypadku, gdy wolna pamięć hosta spada poniżej dolnego progu, hiperwizor kontynuuje odzyskiwanie pamięci poprzez zamianę i kompresję pamięci, a dodatkowo blokuje wykonywanie wszystkich maszyn wirtualnych, które zużywają więcej pamięci niż docelowe alokacje pamięci.
streszczenie
Kluczową kwestią do podkreślenia jest to, że nie można przewidzieć na podstawie oficjalnych dokumentów, jak będzie się zachowywać twoje środowisko.
- Ile może ci dać TPS? (Zależy od tego, jak podobne są twoje maszyny wirtualne z ich systemem operacyjnym, dodatkiem Service Pack i uruchomionymi aplikacjami)
- Jak szybko maszyny wirtualne przydzielają pamięć? Im szybciej to robią, tym bardziej prawdopodobne jest, że przejdziesz do następnego progu, zanim mniej skuteczny schemat odzyskiwania pamięci utrzyma cię na obecnym progu.
- W zależności od zastosowania, każdy schemat odzyskiwania pamięci będzie miał bardzo różny wpływ.
Przetestuj swoje średnie scenariusze, jesteś 95% percentylem, a na koniec maksimum, aby zrozumieć, jak będzie działać Twoje środowisko.
Edytuj 1
Warto dodać, że w przypadku vSphere 4 (lub 4.1 nie można go przywołać) można teraz umieścić zamianę hiperwizora na dysku lokalnym, ale nadal vmotion VM. Jeśli używasz pamięci współdzielonej, zdecydowanie zalecamy, aby domyślnie przenieść plik wymiany hiperwizora na dysk lokalny. Zapewnia to, że gdy jeden host jest pod silną presją pamięci, nie wpływa to na wszystkie inne hosty / maszyny wirtualne vSphere w tej samej współużytkowanej pamięci.
Edytuj 2
Na podstawie komentarzy sprawił, że ESX nie przydziela pamięci pogrubioną czcionką ...
Edytuj 3
Wyjaśniono trochę więcej o progach pamięci.