Usuń pamięć na gorąco na maszynie wirtualnej z systemem Linux

11

Linux obsługuje dodawanie pamięci podczas pracy jako gość VM, na przykład w VMware . (Czasami musisz ręcznie poinformować system operacyjny gościa ).

Czy istnieje bezpieczny sposób na wykonanie operacji odwrotnej - zmniejszenie ilości pamięci przydzielonej maszynie wirtualnej, a jeśli tak, to czy musisz ręcznie poinformować gościa Linuksa przed taką operacją? (Jeśli tak, to czy procedura jest specyficzna dla narzędzi VMware, czy może jest ogólna dla dowolnego mechanizmu wirtualizacji?)

200_sukces
źródło

Odpowiedzi:

7

ESXi nie obsługuje usuwania pamięci ani procesorów z maszyny wirtualnej. Ktoś, kogo spotkałem w pubie kilka miesięcy temu, powiedział mi, że siostra przyjaciela jego kuzyna * kaszel * otrzymała odpowiedź, że praktycznie żaden klient nie wymaga tej funkcji. Innymi słowy: nie opłaca się wdrożyć usuwania na gorąco.

Jeśli chcesz, aby ESXi to obsługiwał, przejdź do VMware i powiedz im. Im więcej ludzi, tym większe szanse, że go wdrożą.

Mario Lenz
źródło
1
Przeczytaj to i powiedział: „Dziewczyna brata siostry mojego najlepszego przyjaciela usłyszała od tego faceta, który zna tego dzieciaka, który idzie z dziewczyną, która widziała, jak Ferris zemdlał zeszłej nocy o 31 Smakach. Myślę, że to dość poważne”.
warren
Interesujące jest to, że firma komercyjna, taka jak vmware, nie obsługuje usuwania pamięci na gorąco, podczas gdy KVM (darmowe oprogramowanie). Powiedziałbym, że to kolejny świetny argument za wolnym oprogramowaniem.
aseq
@aseq Chociaż jestem wielkim fanem wolnego oprogramowania, nie sądzę, że jedna funkcja jest dobrym powodem (lub przeciw).
Mario Lenz
To zależy od funkcji, jednak kvm ma wiele innych rzeczy. Ten konkretny może być czynnikiem decydującym.
aseq
@aseq Usunięcie pamięci na gorąco może być powodem wyboru KVM zamiast ESXi, ale jest to bardzo konkretna decyzja i nie ma nic wspólnego z ogólnymi zaletami wolnego oprogramowania. Powiem to tak: gdyby było na odwrót (ESXi wspierałoby usuwanie pamięci na gorąco, a KVM nie), czy byłby to świetny argument za oprogramowaniem prawnie zastrzeżonym? Myślę, że nie.
Mario Lenz,
4

Nie mogę powiedzieć na pewno w vmware, ale przy użyciu kvm zmniejsza się pamięć działającej maszyny wirtualnej. Oczywiście do limitu, ale oprogramowanie ci to powie. Po zmniejszeniu pamięć w maszynie wirtualnej będzie stopniowo zmniejszana, dopóki nie będzie można jej dalej zmniejszać. Jeśli ustawisz pamięć na niższą niż w miejscu, w którym się zatrzymała, będziesz musiał ponownie uruchomić maszynę wirtualną, aby całkowicie ją opuścić.

Niedawno zrobiłem to na systemie działającym na kvm z około 20 maszynami wirtualnymi, gdzie ktoś pomyślał, że rozsądnie jest przesadzić pamięć, powodując, że niektóre maszyny wirtualne działają w trybie wymiany (doh!). Aby to naprawić, obniżyłem pamięć o około 20–40% 2/3 maszyn wirtualnych i większość z nich była w stanie całkowicie ją obniżyć podczas pracy. Kilku potrzebowało ponownego uruchomienia, aby nowe ustawienie pamięci zaczęło obowiązywać całkowicie.

Wychodząc z tego, zakładam, że wirtualna maszyna vmware mogłaby również na to pozwolić. Jednak szybki test w odtwarzaczu vmware mówi mi, że będzie trzeba go zrestartować, aby zadziałało (bardziej zaawansowane oprogramowanie vmware może zachowywać się ładniej). W przeciwnym razie jest to bezpieczne w działającym systemie. Oczywiście, czy ilość pamięci, którą pozostało, wystarczy do prawidłowego działania, to inna sprawa.

aseq
źródło