Tytuł mówi prawie wszystko, czy jest jakaś korzyść z dostarczenia VM 2048 MB pamięci zamiast zaokrąglania do base-10 i wykonywania 2000 MB?
26
Tytuł mówi prawie wszystko, czy jest jakaś korzyść z dostarczenia VM 2048 MB pamięci zamiast zaokrąglania do base-10 i wykonywania 2000 MB?
Pamięć fizyczna na serwerze jest wielokrotnością potęgi dwóch, więc rozdzieli się równomiernie, jeśli użyjesz innych wielokrotności. Mogą być niewiarygodnie drobne ulepszenia w SLAT i takie, jeśli są również odpowiednio wyrównane. W przeciwnym razie nie.
Hyper-V wewnętrznie przydziela pamięć w 2 MB porcjach. Sam hiperwizor użyje 2 MB pozycji tabeli stron dla zwiększenia wydajności, jeśli to możliwe, jeśli twój procesor obsługuje translację adresów drugiego poziomu (SLAT). Będzie to możliwe dla praktycznie każdej maszyny wirtualnej z wyłączoną pamięcią dynamiczną.
Poza tym nie, nie ma to znaczenia.
źródło
Aby wyjaśnić, co powiedziały inne odpowiedzi; zdefiniowany tu limit dotyczy oprogramowania maszyny wirtualnej, a nie gościa. Oznacza to, że gdy system operacyjny gościa żąda strony pamięci, robi to w określonych przyrostach (tj. 4KB). Więc jeśli zdefiniowałeś maszynę wirtualną jako 4097 KB pamięci RAM, a maszyna wirtualna hosta używała rozmiaru strony 4KB, to prawdopodobnie przyznałaby maszynie wirtualnej łącznie 4100 KB pamięci RAM.
Gdyby jednak system operacyjny gościa używał rozmiaru strony 1 KB, a system operacyjny hosta używał rozmiaru strony 4KB, wówczas system operacyjny hosta zasadniczo przyznałby 4KB miejsca, z którego zostanie wykorzystany tylko 1 KB - ale to nie wszystko fragmenty pamięci. Więc tak naprawdę nigdy nie będziesz marnować zauważalnej ilości miejsca.
Należy zauważyć, że wyrównanie między systemem operacyjnym hosta a systemem operacyjnym gościa nie ma tutaj znaczenia, z wyjątkiem ostatnich „bitów wyłączonych”.
źródło
Podejrzewam, że jest to kwestia tradycji i dostosowanie jej do sposobu budowania systemów fizycznych. Systemy fizyczne mają pamięć w ilościach podstawowych 2 (a przynajmniej przy każdym wyprodukowanym x86, to prawda), a są szanse, jeśli nie wiele systemów operacyjnych spodziewałoby się tego w zarządzaniu pamięcią.
Krótko mówiąc, tak naprawdę dzieje się tak, ponieważ maszyna wirtualna odzwierciedla maszynę prawdziwą, a nie hipotetyczną. Niezbyt techniczna odpowiedź, ale myślę, że to jest prawdziwa
źródło
Nie całkiem. Pamięć dynamiczna Hyper-v i tak przydzieli tylko to, czego używa system. Przypisana kwota to wartość początkowa. Jeśli nie używasz pamięci dynamicznej, jedyną korzyścią, jaką widzę, jest lepsze dopasowanie pamięci fizycznej do wirtualnej.
źródło