VM에 둥근 기본 2 크기 (2048MB, 4096MB 등)의 메모리를 제공해야하는 이유가 있습니까? 기본 10으로

제목은 거의 모든 것을 말합니다. 기본 10으로 반올림하고 2000MB를 수행하는 대신 VM에 2048MB의 메모리를 제공하는 이점이 있습니까?



답변

서버의 실제 메모리는 2의 거듭 제곱이므로 다른 배수를 사용하면 고르게 슬라이스됩니다. SLAT와 ​​함께 아주 약간 개선 된 부분이있을 수 있습니다. 그렇지 않으면 아닙니다.


답변

Hyper-V는 내부적으로 메모리를 2MB 청크로 할당합니다. 프로세서가 SLAT (Second-Level Address Translation)를 지원하는 경우 하이퍼 바이저 자체가 2MB 페이지 테이블 항목을 사용하여 효율성을 높입니다. 동적 메모리가 해제 된 거의 모든 VM에서 가능합니다.

그 외에는 중요하지 않습니다.


답변

다른 답변이 무엇을 말했는지 명확히하기 위해; 여기에 정의 된 제한은 기본적으로 게스트가 아닌 가상 머신의 소프트웨어에 대한 것입니다. 즉, 게스트 OS가 메모리 페이지를 요청하면 정의 된 증분 (예 : 4KB)으로 메모리 페이지를 요청합니다. 따라서 가상 머신이 4097KB의 RAM을 갖도록 정의하고 호스트 VM이 4KB 페이지 크기를 사용하는 경우 가상 머신에 총 4100KB의 RAM을 부여 할 수 있습니다.

그러나 게스트 OS가 1KB 페이지 크기를 사용하고 호스트 OS가 4KB 페이지 크기를 사용하는 경우 호스트 OS는 기본적으로 1KB 만 사용되는 4KB의 공간을 부여합니다. 메모리 덩어리. 따라서 식별 가능한 공간을 낭비하지 않을 것입니다.

참고로, 호스트 OS와 게스트 OS 사이의 정렬은 마지막 “오프 비트”를 제외하고는 여기에 영향을 미치지 않습니다.


답변

나는 그것이 전통적 문제라고 생각하고 물리적 시스템이 어떻게 구축되는지에 맞춰 조정합니다. 물리적 시스템은 기본 2 크기의 메모리를 가지고 있으며 (최소한 x86마다 가능하며 이는 사실입니다), 많은 OS가 메모리 관리에서 이것을 기대하지 않을 가능성이 있습니다.

즉, 가상 머신은 가상 머신이 아닌 실제 머신을 반영하기 때문입니다. 매우 기술적 인 대답은 아니지만 그것이 실제라고 생각합니다.


답변

실제로는 아닙니다. Hyper-v 동적 메모리는 시스템이 사용하는 것만 할당합니다. 할당 금액은 시작 값입니다. 동적 메모리를 사용하지 않는 경우 물리적 메모리를 가상에 더 잘 맞추는 것이 유일한 장점입니다.


답변